@import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@300;400;500&family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;background-color:#020617}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0c0c0e;--bg-elevated: #111114;--bg-hover: #17171b;--border: #1e1e24;--border-light: #28282f;--text-primary: #e2e2e8;--text-secondary:#8a8a96;--text-muted: #484855;--text-dim: #2e2e38;--accent: #7c6aff;--accent-dim: rgba(124,106,255,.12);--accent-border:rgba(124,106,255,.25);--green: #34d399;--green-dim: rgba(52,211,153,.1);--amber: #fbbf24;--amber-dim: rgba(251,191,36,.1);--red: #f87171;--sidebar-w: 220px;--topbar-h: 44px;--docheader-h: 80px;--statusbar-h: 28px;--linum-w: 52px}html,body{height:100%;background:var(--bg);color:var(--text-primary)}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}.shell{display:flex;height:100vh;overflow:hidden;font-family:Geist,system-ui,sans-serif}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-elevated);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0;overflow:hidden}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:18px 16px 16px;border-bottom:1px solid var(--border)}.sidebar-logo-mark{width:32px;height:32px;border-radius:10px;flex-shrink:0;overflow:hidden;box-shadow:0 0 20px #7c6aff73}.sidebar-logo-mark img{width:100%;height:100%;object-fit:cover}.sidebar-logo-copy{display:flex;flex-direction:column;gap:2px}.sidebar-logo-text{font-family:Geist,sans-serif;font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.3;letter-spacing:.01em}.sidebar-logo-sub{font-family:Geist Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.sidebar-nav{flex:1;padding:14px 10px;overflow-y:auto}.sidebar-section-label{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 8px 8px}.sidebar-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:400;color:var(--text-secondary);transition:background .15s,color .15s;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item--active{background:var(--accent-dim);color:var(--text-primary);border:1px solid var(--accent-border)}.sidebar-item--active svg{color:var(--accent)}.sidebar-bottom{padding:14px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.conn-status{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:400}.conn-status--on{color:var(--green)}.conn-status--off{color:var(--red)}.conn-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.conn-status--on .conn-dot{animation:blink 2.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.sidebar-endpoint{font-family:Geist Mono,monospace;font-size:10px;color:var(--text-muted);letter-spacing:.04em}.main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.topbar{height:var(--topbar-h);flex-shrink:0;background:var(--bg-elevated);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:16px}.topbar-left,.topbar-right{flex:1;display:flex;align-items:center}.topbar-right{justify-content:flex-end}.topbar-center{display:flex;align-items:center;justify-content:center}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px}.breadcrumb-dim{color:var(--text-muted)}.breadcrumb-sep{color:var(--border-light)}.breadcrumb-doc{color:var(--text-secondary);font-weight:500}.live-pill{display:flex;align-items:center;gap:7px;background:var(--green-dim);border:1px solid rgba(52,211,153,.2);border-radius:20px;padding:4px 12px 4px 10px;font-family:Geist Mono,monospace;font-size:9px;font-weight:500;letter-spacing:.12em;color:var(--green);text-transform:uppercase}.live-pulse{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;animation:pulse-live 2s ease-in-out infinite}@keyframes pulse-live{0%,to{box-shadow:0 0 #34d39980}50%{box-shadow:0 0 0 5px #34d39900}}.save-badge{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:400;padding:4px 10px;border-radius:5px;transition:all .3s ease;white-space:nowrap}.save-badge--idle{color:var(--text-muted);background:transparent}.save-badge--saving{color:var(--amber);background:var(--amber-dim)}.save-badge--saved{color:var(--green);background:var(--green-dim)}.save-spinner{width:9px;height:9px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.doc-header{flex-shrink:0;padding:22px 32px 18px calc(var(--linum-w) + 32px);border-bottom:1px solid var(--border);background:var(--bg)}.doc-title-row{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}.doc-title{font-family:"Instrument Serif",Georgia,serif;font-size:26px;font-weight:400;color:var(--text-primary);letter-spacing:-.3px;line-height:1}.doc-ext{font-family:Geist Mono,monospace;font-size:13px;color:var(--text-muted);letter-spacing:.02em}.doc-meta-row{display:flex;align-items:center;gap:10px}.doc-meta-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted)}.doc-meta-item svg{opacity:.6;flex-shrink:0}.doc-meta-sep{color:var(--border-light);font-size:14px}.editor-area{flex:1;display:flex;overflow:hidden;position:relative}.line-numbers{width:var(--linum-w);flex-shrink:0;background:var(--bg);border-right:1px solid var(--border);padding:28px 0;overflow:hidden;-webkit-user-select:none;user-select:none}.line-number{font-family:Geist Mono,monospace;font-size:13px;font-weight:300;color:var(--text-dim);line-height:1.75;text-align:right;padding-right:14px;transition:color .15s}.editor{flex:1;background:var(--bg);color:var(--text-primary);border:none;outline:none;resize:none;font-family:Geist Mono,monospace;font-size:14px;font-weight:300;line-height:1.75;letter-spacing:.01em;padding:28px 48px 28px 24px;caret-color:var(--accent);tab-size:2;overflow-y:auto;height:100%}.editor::placeholder{color:var(--text-secondary);font-style:normal;white-space:pre}.editor::-webkit-scrollbar{width:8px}.editor::-webkit-scrollbar-track{background:transparent}.editor::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}.editor::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.statusbar{height:var(--statusbar-h);flex-shrink:0;background:var(--bg-elevated);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 calc(var(--linum-w) + 20px)}.statusbar-left,.statusbar-right{display:flex;align-items:center;gap:0}.stat{font-family:Geist Mono,monospace;font-size:11px;font-weight:300;color:var(--text-muted);letter-spacing:.04em;padding:0 12px}.stat strong{font-weight:500;color:var(--text-secondary)}.stat-div{width:1px;height:12px;background:var(--border-light);flex-shrink:0}.preview-toggle{font-size:12px;padding:5px 10px;margin-right:10px;border-radius:5px;background:var(--bg-hover);color:var(--text-secondary)}.preview-toggle:hover{background:var(--accent-dim);color:var(--text-primary)}.markdown-preview{flex:1;padding:28px 48px;overflow-y:auto;line-height:1.7;font-family:Geist,sans-serif}.markdown-preview h1{font-size:30px;margin-bottom:12px}.markdown-preview h2{font-size:24px;margin-top:20px}.markdown-preview p{margin:10px 0}.markdown-preview code{background:#1a1a1f;padding:3px 6px;border-radius:4px;font-family:Geist Mono}.markdown-preview pre{background:#1a1a1f;padding:16px;border-radius:6px;overflow-x:auto}@media(max-width:768px){.sidebar{display:none}.doc-header{padding-left:calc(var(--linum-w) + 16px);padding-right:16px}.statusbar{padding-left:calc(var(--linum-w) + 12px)}.editor{padding-left:16px;padding-right:16px}.topbar{padding:0 14px}.doc-title{font-size:20px}}
