.feedback-wrap[data-astro-cid-6eb3m7cw]{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--border)}.feedback-heading[data-astro-cid-6eb3m7cw]{font-family:var(--font-ui);font-size:var(--size-xs);font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm)}.feedback-textarea[data-astro-cid-6eb3m7cw]{width:100%;font-family:var(--font-body);font-size:var(--size-sm);color:var(--text);background:var(--bg-elevated);border:1px solid var(--accent-dim);padding:.75rem;resize:none;outline:none;transition:border-color .15s;box-sizing:border-box;line-height:1.65}.feedback-textarea[data-astro-cid-6eb3m7cw]:focus{border-color:var(--accent)}.feedback-hint[data-astro-cid-6eb3m7cw]{font-family:var(--font-ui);font-size:var(--size-xs);color:var(--text-muted);margin-top:.4rem;opacity:.6}.feedback-success[data-astro-cid-6eb3m7cw] p[data-astro-cid-6eb3m7cw]{font-family:var(--font-ui);font-size:var(--size-sm);color:var(--accent)}.modal-overlay[data-astro-cid-6eb3m7cw]{display:none}.modal-overlay[data-astro-cid-6eb3m7cw].is-open{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md)}.modal-box[data-astro-cid-6eb3m7cw]{background:var(--bg-elevated);border:1px solid var(--accent-dim);padding:var(--space-lg);width:100%;max-width:420px;display:flex;flex-direction:column;gap:var(--space-sm)}.modal-title[data-astro-cid-6eb3m7cw]{font-family:var(--font-display);font-size:var(--size-lg);color:var(--text)}.modal-sub[data-astro-cid-6eb3m7cw]{font-family:var(--font-body);font-size:var(--size-sm);color:var(--text-muted);line-height:1.6}.modal-email[data-astro-cid-6eb3m7cw]{font-family:var(--font-body);font-size:var(--size-sm);color:var(--text);background:var(--bg);border:1px solid var(--accent-dim);padding:.6rem .75rem;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box;margin-top:var(--space-sm)}.modal-email[data-astro-cid-6eb3m7cw]:focus{border-color:var(--accent)}.modal-actions[data-astro-cid-6eb3m7cw]{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.modal-btn[data-astro-cid-6eb3m7cw]{font-family:var(--font-ui);font-size:var(--size-sm);font-weight:500;padding:.55rem 1.25rem;border:none;cursor:pointer;transition:background .15s,color .15s}.modal-btn[data-astro-cid-6eb3m7cw]:disabled{opacity:.5;cursor:not-allowed}.modal-btn--skip[data-astro-cid-6eb3m7cw]{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.modal-btn--skip[data-astro-cid-6eb3m7cw]:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.modal-btn--send[data-astro-cid-6eb3m7cw]{background:var(--text);color:var(--bg)}.modal-btn--send[data-astro-cid-6eb3m7cw]:hover:not(:disabled){background:var(--accent)}.modal-error[data-astro-cid-6eb3m7cw]{font-family:var(--font-ui);font-size:var(--size-xs);color:#e05252}.article-main[data-astro-cid-uwv4mmhs]{padding:var(--space-lg) var(--space-lg)}.article-container[data-astro-cid-uwv4mmhs]{max-width:var(--max-content);margin:0 auto}.back-link[data-astro-cid-uwv4mmhs]{display:inline-block;font-family:var(--font-ui);font-size:var(--size-sm);color:var(--text-muted);margin-bottom:var(--space-lg);transition:color .15s}.back-link[data-astro-cid-uwv4mmhs]:hover{color:var(--accent)}.article-header[data-astro-cid-uwv4mmhs]{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.article-meta[data-astro-cid-uwv4mmhs]{display:flex;align-items:center;gap:.5rem;font-family:var(--font-ui);font-size:var(--size-sm);color:var(--text-muted)}.article-intro[data-astro-cid-uwv4mmhs]{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.article-title[data-astro-cid-uwv4mmhs]{font-family:var(--font-display);font-size:var(--size-2xl);line-height:1.2;margin-bottom:var(--space-sm);color:var(--text)}.article-subtitle[data-astro-cid-uwv4mmhs]{font-family:var(--font-body);font-size:var(--size-base);line-height:1.65;color:var(--text-muted);margin-bottom:var(--space-sm)}.article-metaline[data-astro-cid-uwv4mmhs]{font-family:var(--font-ui);font-size:var(--size-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);display:flex;gap:.5rem;align-items:center}.article-metaline[data-astro-cid-uwv4mmhs] .dot[data-astro-cid-uwv4mmhs]{opacity:.6}.article-end[data-astro-cid-uwv4mmhs]{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--border)}@media(max-width:768px){.article-main[data-astro-cid-uwv4mmhs]{padding:var(--space-md)}}body{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.article-body h1,.article-body h2,.article-body h3,.article-body h4{font-family:var(--font-display);color:var(--text);margin-top:2rem;margin-bottom:.75rem}.article-body h1{font-size:var(--size-2xl)}.article-body h2{font-size:var(--size-xl)}.article-body h3{font-size:var(--size-lg)}.article-body p{margin-bottom:1.25rem;line-height:1.75}.article-body ul,.article-body ol{margin-bottom:1.25rem;padding-left:1.5rem}.article-body li{margin-bottom:.4rem;line-height:1.65}.article-body hr{border:none;border-top:1px solid var(--border);margin:var(--space-lg) 0}.article-body strong{color:var(--text);font-weight:500}.article-body a{color:var(--accent)}.article-body a:hover{color:var(--text)}.article-body blockquote{border-left:2px solid var(--accent-dim);padding-left:var(--space-md);color:var(--text-muted);margin:var(--space-md) 0}.article-body code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-elevated);padding:.15em .4em;border-radius:2px}.article-body pre code{background:transparent;padding:0;border-radius:0;font-size:inherit}.article-body table{width:100%;border-collapse:collapse;margin:var(--space-md) 0;font-size:var(--size-sm)}.article-body th,.article-body td{border-bottom:1px solid var(--border);padding:.6rem .75rem;text-align:left;vertical-align:top;line-height:1.55}.article-body th{font-family:var(--font-ui);font-weight:500;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--accent-dim)}.article-body .wide-table{position:relative;width:min(var(--max-wide),calc(100vw - 2 * var(--space-lg)));margin-left:50%;transform:translate(-50%);margin-top:var(--space-md);margin-bottom:var(--space-md);overflow-x:auto}.article-body .wide-table table{margin:0;min-width:720px}.article-body .wide-table caption{caption-side:top;text-align:left;font-family:var(--font-ui);font-size:var(--size-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding-bottom:.5rem}.article-body .wide-table th:first-child,.article-body .wide-table td:first-child{white-space:nowrap}@media(max-width:768px){.article-body .wide-table{width:calc(100vw - 2 * var(--space-md))}}.article-body pre.mermaid{position:relative;background:var(--bg-elevated);border-left:2px solid var(--accent-dim);margin:var(--space-lg) 0;min-height:160px;overflow:hidden}.article-body pre.mermaid:not([data-processed=true]){padding:var(--space-lg) var(--space-md);color:var(--text-muted);font-family:var(--font-ui);font-size:var(--size-xs);white-space:normal;display:flex;align-items:center;justify-content:center;text-align:center}.article-body pre.mermaid:not([data-processed=true]):before{content:"Rendering diagram…"}.article-body pre.mermaid:not([data-processed=true])>*{display:none}.article-body pre.mermaid[data-processed=true]{padding:0;min-height:260px;height:35vh;max-height:360px}.article-body .mermaid-viewport{position:relative;width:100%;height:100%;overflow:hidden;cursor:grab;user-select:none;touch-action:none}.article-body .mermaid-viewport.is-dragging{cursor:grabbing}.article-body .mermaid-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);will-change:transform}.article-body .mermaid-stage svg{display:block}.article-body .mermaid-toolbar{position:absolute;right:.6rem;bottom:.6rem;display:flex;gap:.25rem;z-index:2}.article-body .mermaid-toolbar button{font-family:var(--font-ui);font-size:var(--size-sm);line-height:1;width:2rem;height:2rem;border:1px solid var(--accent-dim);background:var(--bg);color:var(--text);cursor:pointer;padding:0;transition:background .15s,border-color .15s,color .15s}.article-body .mermaid-toolbar button:hover{background:var(--bg-elevated);border-color:var(--accent);color:var(--accent)}
