body{color:#e1e4e8;background-color:#0f1116;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}#navbar{color:#f0f6fc;background-color:#161b22;border-bottom:1px solid #30363d;padding:1rem 2rem;font-size:1.25rem;font-weight:600}#navbar a:hover{color:#58a6ff}#home{max-width:72rem;margin:0 auto;padding:3rem 1.5rem}#home h1{color:#f0f6fc;margin-bottom:.5rem;font-size:2.25rem;font-weight:700}#home>p{color:#8b949e;margin-bottom:2.5rem;font-size:1.125rem}#workshop-list{grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1.25rem;display:grid}.workshop-card{cursor:pointer;background-color:#161b22;border:1px solid #30363d;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1.5rem;transition:border-color .15s,box-shadow .15s;display:flex}.workshop-card:hover{border-color:#58a6ff;box-shadow:0 0 0 1px rgba(88,166,255,.3)}.workshop-card-header{justify-content:space-between;align-items:center;display:flex}.difficulty-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.difficulty-badge.beginner{color:#3fb950;background-color:rgba(63,185,80,.15)}.difficulty-badge.intermediate{color:#d9b23a;background-color:rgba(217,178,58,.15)}.difficulty-badge.advanced{color:#f85149;background-color:rgba(248,81,73,.15)}.duration{color:#8b949e;font-size:.875rem}.workshop-card h2{color:#f0f6fc;font-size:1.25rem;font-weight:600}.workshop-card p{color:#8b949e;font-size:.9375rem;line-height:1.5}.author{color:#6e7681;font-size:.8125rem}#workshop-view{max-width:56rem;margin:0 auto;padding:2rem 1.5rem 4rem}.workshop-header{margin-bottom:1.5rem}.workshop-header h1{color:#f0f6fc;margin-top:.5rem;font-size:1.75rem;font-weight:700}.back-link{color:#58a6ff;font-size:.9375rem}.back-link:hover{text-decoration:underline}.step-content{background-color:#161b22;border:1px solid #30363d;border-radius:.75rem;margin-bottom:1.5rem;padding:2rem}.step-content h2{color:#f0f6fc;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.step-content p{color:#c9d1d9;margin-bottom:.75rem;line-height:1.7}.step-content p:last-child{margin-bottom:0}.step-assets{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.code-block{background-color:#0d1117;border:1px solid #30363d;border-radius:.75rem;overflow:hidden}.code-block-header{background-color:#161b22;border-bottom:1px solid #30363d;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.filename{color:#8b949e;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8125rem}.copy-btn{color:#c9d1d9;cursor:pointer;background-color:#21262d;border:1px solid #30363d;border-radius:.375rem;padding:.25rem .75rem;font-size:.75rem;transition:background-color .15s}.copy-btn:hover{background-color:#30363d}.code-block pre{margin:0;padding:1rem;overflow-x:auto}.code-block code{color:#e6edf3;white-space:pre;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.6}.asset-terminal{background-color:#0d1117;border:1px solid #30363d;border-radius:.75rem;overflow:hidden}.asset-label{color:#8b949e;background-color:#161b22;border-bottom:1px solid #30363d;padding:.5rem 1rem;font-size:.8125rem;font-weight:500}.asset-terminal pre{margin:0;padding:1rem}.asset-terminal code{color:#7ee787;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875rem}.asset-text{border:1px solid #30363d;border-radius:.75rem;overflow:hidden}.asset-text .asset-label{font-size:.875rem}.asset-text p{margin:0;padding:1rem;font-size:.9375rem;line-height:1.6}.asset-text.info{border-color:rgba(88,166,255,.4)}.asset-text.info .asset-label{color:#58a6ff;background-color:rgba(88,166,255,.1);border-bottom-color:rgba(88,166,255,.2)}.asset-text.warning{border-color:rgba(217,178,58,.4)}.asset-text.warning .asset-label{color:#d9b23a;background-color:rgba(217,178,58,.1);border-bottom-color:rgba(217,178,58,.2)}.asset-text.tip{border-color:rgba(63,185,80,.4)}.asset-text.tip .asset-label{color:#3fb950;background-color:rgba(63,185,80,.1);border-bottom-color:rgba(63,185,80,.2)}.asset-mermaid{cursor:zoom-in;background-color:#0d1117;border:1px solid #30363d;border-radius:.75rem;justify-content:center;padding:1.5rem;display:flex;overflow-x:auto}.asset-mermaid svg{max-width:100%;height:auto}.asset-mermaid.error{color:#f85149;cursor:default;flex-direction:column;align-items:center;gap:1rem}.asset-mermaid.error pre{width:100%;margin:0}.asset-mermaid.error code{color:#8b949e;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875rem}.mermaid-modal-overlay{z-index:1000;background-color:rgba(0,0,0,.8);outline:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mermaid-modal-content{box-sizing:border-box;background-color:#0d1117;border:1px solid #30363d;border-radius:1rem;justify-content:center;align-items:center;width:95vw;height:90vh;padding:2rem;display:flex;position:relative}.mermaid-modal-close{color:#c9d1d9;cursor:pointer;z-index:10;background-color:#21262d;border:1px solid #30363d;border-radius:.5rem;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.125rem;transition:background-color .15s;display:flex;position:absolute;top:.75rem;right:.75rem}.mermaid-modal-close:hover{background-color:#30363d}.mermaid-modal-diagram{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:auto}.mermaid-modal-diagram svg{width:auto;max-width:100%;height:auto;max-height:100%}.step-nav{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.step-progress{color:#8b949e;font-size:.9375rem;font-weight:500}.step-buttons{gap:.75rem;display:flex}.step-btn{color:#c9d1d9;cursor:pointer;background-color:#21262d;border:1px solid #30363d;border-radius:.5rem;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-block}.step-btn:hover{background-color:#30363d;border-color:#58a6ff}.step-btn.disabled{opacity:.4;cursor:not-allowed}.step-btn.disabled:hover{background-color:#21262d;border-color:#30363d}.error{text-align:center;max-width:40rem;margin:4rem auto;padding:2rem}.error h1{color:#f85149;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.error p{color:#8b949e;margin-bottom:1.5rem}.error a{color:#58a6ff}.error a:hover{text-decoration:underline}