.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg: #ffffff;--bg-secondary: #f7f7f4;--bg-tertiary: #eeeeea;--surface: #ffffff;--surface-muted: #fafaf8;--chip-bg: #f1f1ed;--text: #151515;--text-muted: #55524d;--text-dim: #89857e;--accent: #1f4f82;--accent-strong: #163f68;--accent-dim: #2f5f8f;--accent-light: rgba(31, 79, 130, .16);--border: rgba(20, 20, 20, .16);--border-light: rgba(20, 20, 20, .08);--code-bg: #f6f6f3;--shadow-soft: none;--shadow-glow: none;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif}html[data-theme=dark]{--bg: #07111f;--bg-secondary: #0d1b2d;--bg-tertiary: #12263d;--surface: #0f1d30;--surface-muted: #142640;--chip-bg: #15304f;--text: #eef7ff;--text-muted: #b7c9dc;--text-dim: #7890a8;--accent: #7db7ff;--accent-strong: #a9d3ff;--accent-dim: #c3e1ff;--accent-light: rgba(125, 183, 255, .2);--border: rgba(180, 214, 255, .18);--border-light: rgba(180, 214, 255, .1);--code-bg: #0a1728;--shadow-soft: 0 18px 42px rgba(0, 0, 0, .24);--shadow-glow: 0 16px 36px rgba(85, 153, 255, .16)}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);background:var(--bg);color:var(--text);overflow-y:scroll;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;width:100%;min-height:100vh}body{background:var(--bg)}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono)}.diagram{margin:.5rem 0;text-align:center}.diagram img{max-width:100%;height:auto;border-radius:8px;background:#fff;padding:1rem;border:1px solid var(--border)}.diagram iframe{max-width:100%}.mermaid-diagram{margin:1.35rem 0;padding:1rem;overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px}.mermaid-diagram.mermaid-zoom-ready{cursor:zoom-in;user-select:none;-webkit-user-select:none}.mermaid-svg{min-width:max-content}.mermaid-diagram svg{display:block;max-width:100%;height:auto;margin:0 auto}.mermaid-diagram.mermaid-zoom-ready svg,.mermaid-diagram.mermaid-zoom-ready svg *{pointer-events:none;user-select:none;-webkit-user-select:none}.mermaid-loading{padding:2rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);text-align:center}.mermaid-error{border-color:#dc262647}.mermaid-error-text{margin:0 0 .75rem;color:#dc2626;font-size:.9rem}.mermaid-error pre{margin:0;padding:.85rem;overflow-x:auto;background:var(--code-bg);border:1px solid var(--border-light);border-radius:6px}.mermaid-error code{font-family:var(--font-mono);font-size:.82rem;white-space:pre}.drawio-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;background:var(--bg-secondary);border:2px dashed var(--border);border-radius:8px;color:var(--text-muted)}.drawio-placeholder svg{opacity:.5}.drawio-filename,.drawio-desc{font-family:var(--font-mono);font-size:.9rem;margin:0;color:var(--text-muted)}.drawio-open-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:var(--font-mono);font-size:.85rem;color:var(--accent);background:var(--bg);border:1px solid var(--accent);border-radius:6px;text-decoration:none;transition:all .2s}.drawio-open-btn:hover{background:var(--accent);color:#fff;text-decoration:none}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-muted);transition:all .2s;flex-shrink:0}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}html[data-theme=dark] .astro-code,html[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}
