/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}body{overflow:hidden;overscroll-behavior:none}.container{display:flex;height:100vh;width:100vw;overflow:hidden;contain:layout size}.editor-pane{flex:0 0 25%;min-width:0;display:flex;flex-direction:column;contain:layout style;will-change:flex-basis}.preview-pane{flex:1;min-width:0;overflow:hidden;position:relative;contain:layout style;content-visibility:auto}#mermaid-preview{display:inline-block;width:100%;height:100%}#mermaid-preview svg{width:100%;height:100%;max-width:100%!important}.editor{width:100%;flex:1;resize:none;border:none;padding:8px;font-family:monospace}.resize-handle{width:4px;background-color:#ccc;cursor:col-resize;transition:background-color .2s}.resize-handle:hover{background-color:#999}.error-overlay{display:none;position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000c;color:#f44;font-size:.9rem;padding:2rem;white-space:pre-wrap;align-items:center;justify-content:center;text-align:center;z-index:10;border-radius:4px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);margin:0}.floating-controls{position:fixed;bottom:15px;right:15px;display:flex;gap:8px;z-index:100;transform:translateZ(0)}.button{padding:5px;border-radius:4px;border:1px solid #ccc;cursor:pointer;box-shadow:0 2px 4px #0000001a;font-size:.6rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffc;transform:translateZ(0);transition:background-color .2s;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;min-width:calc(1em + 10px)}.button:hover{background:#f0f0f0}.zoom-button{width:28px;height:28px;padding:0;font-size:1rem}.yRemoteSelection{background-color:#fa810080}.yRemoteSelectionHead{position:absolute;border-left:orange solid 2px;border-top:orange solid 2px;border-bottom:orange solid 2px;height:100%;box-sizing:border-box}.yRemoteSelectionHead:after{position:absolute;content:" ";border:3px solid orange;border-radius:4px;left:-4px;top:-5px}@media screen and (max-width: 768px){.editor-pane,.resize-handle,.resize-handle-horizontal,.input-area{display:none}.preview-pane{flex:1 1 100%}}.input-area{flex-grow:1;position:relative;margin-left:10px;display:flex;align-items:center;gap:8px}.input-area input{flex:1;height:35px;border:none;resize:none;padding:8px 12px;font-size:13px;font-family:inherit;outline:none;box-sizing:border-box;border-radius:4px}.preset-button{display:flex;align-items:center;justify-content:center;width:35px;height:35px;padding:0;background:#ffffffe6;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;transition:all .2s ease;flex-shrink:0}.preset-button:hover{background:#fff;border-color:#007acc;color:#007acc}.preset-button:active{transform:scale(.95)}.preset-card{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:1000;max-height:400px;overflow-y:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.preset-card.hidden{display:none}.preset-header{padding:16px 16px 8px;border-bottom:1px solid #f3f4f6}.preset-header h3{margin:0;font-size:14px;font-weight:600;color:#374151}.preset-grid{padding:8px;display:grid;gap:4px}.preset-item{display:flex;flex-direction:column;align-items:flex-start;padding:12px 16px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;box-sizing:border-box}.preset-item:hover{background:#f8fafc;color:#007acc}.preset-item:active{background:#e2e8f0}.preset-item-title{font-weight:600;font-size:13px;color:#374151;margin-bottom:4px}.preset-item-description{font-size:12px;color:#6b7280;line-height:1.4}.status-bar{position:relative;display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background-color:var(--vscode-statusBar-background, #007acc);color:#fff;font-size:12px;box-shadow:0 1px 2px #0000001a}.status-text{margin-left:10px;color:#fff;font-size:12px;flex-grow:1}#settings-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:none;border-radius:4px;color:#fff;transition:background-color .2s}#settings-btn:hover{background-color:#ffffff1a}#settings-btn svg{width:18px;height:18px}.settings-dialog{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:2rem;z-index:1000;box-shadow:0 8px 32px #0000001f;transform:translateY(0);transition:transform .3s ease,opacity .3s ease;max-width:400px;margin-top:8px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.settings-dialog.hidden{display:none;transform:translateY(-10px);opacity:0}.settings-content{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-hint{color:#6b7280;font-size:12px;margin-top:.25rem;line-height:1.4}.settings-content label{font-weight:600;margin-bottom:.5rem;color:#374151;font-size:14px;letter-spacing:.025em}.settings-content input{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-weight:400;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.settings-content input:focus{border-color:#007acc;outline:none;box-shadow:0 0 0 3px #007acc1a,0 1px 2px #0000000d;background:#fff}.settings-content input:hover{border-color:#d1d5db}.save-button{margin-top:.75rem;width:100%;padding:.75rem 1.5rem;background-color:#007acc;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #007acc33}.save-button:hover{background-color:#0069b0;box-shadow:0 3px 6px #007acc4d;transform:translateY(-1px)}.save-button:active{transform:translateY(0);box-shadow:0 1px 2px #007acc33}.settings-saved-message{position:fixed;bottom:20px;right:20px;background-color:#4caf50;color:#fff;padding:12px 20px;border-radius:6px;font-size:14px;box-shadow:0 2px 10px #0003;z-index:10000;animation:slide-in .3s ease-out forwards;opacity:1}.settings-saved-message.fade-out{animation:fade-out .5s ease-out forwards}@keyframes slide-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.api-key-warning{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:13px;width:100%;box-sizing:border-box;height:35px}.api-key-warning svg{flex-shrink:0;color:#f39c12}.api-key-warning span{flex-grow:1;line-height:1.2}.api-key-warning.error-state{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.fix-with-ai-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#007acc,#0056b3);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;height:35px;box-sizing:border-box;box-shadow:0 2px 4px #007acc33}.fix-with-ai-button:hover{background:linear-gradient(135deg,#0069b0,#004494);box-shadow:0 4px 8px #007acc4d;transform:translateY(-1px)}.fix-with-ai-button:active{transform:translateY(0);box-shadow:0 1px 2px #007acc33}.fix-with-ai-button svg{flex-shrink:0;width:16px;height:16px}.mermaid-error-line{background-color:#ff00001a!important;border-left:3px solid #ff0000!important}.mermaid-error-glyph{background-color:red!important;width:3px!important;border-radius:1px}.monaco-editor .hover-row .mermaid-error-line{background-color:#ff000026!important}.monaco-editor .lines-content .view-lines .view-line .mermaid-error-line{position:relative}.monaco-editor .squiggly-error-mermaid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'%3E%3Cg fill='%23ff0000'%3E%3Cpolygon points='5.5,0 2.5,3 1.1,3 4.1,0'/%3E%3Cpolygon points='4,0 6,2 6,0.6 5.4,0'/%3E%3Cpolygon points='0,2 1,3 2.4,3 0,0.6'/%3E%3C/g%3E%3C/svg%3E") repeat-x bottom left}.monaco-editor .monaco-hover .mermaid-error-hover{border-left:3px solid #ff0000;padding-left:8px;background-color:#ffebee;color:#d32f2f;font-weight:500}.monaco-editor .lightbulb-glyph{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuNSAyLjVDOS41IDEuOTQ3NzIgOS4wNTIyOCAxLjUgOC41IDEuNUM3Ljk0NzcyIDEuNSA3LjUgMS45NDc3MiA3LjUgMi41VjNDNy41IDMuNTUyMjggNy45NDc3MiA0IDguNSA0QzkuMDUyMjggNCA5LjUgMy41NTIyOCA5LjUgM1YyLjVaIiBmaWxsPSIjRkZCRjAwIi8+CjxwYXRoIGQ9Ik0xMy41IDcuNUMxNC4wNTIzIDcuNSAxNC41IDcuMDUyMjggMTQuNSA2LjVDMTQuNSA1Ljk0NzcyIDE0LjA1MjMgNS41IDEzLjUgNS41SDEzQzEyLjQ0NzcgNS41IDEyIDUuOTQ3NzIgMTIgNi41QzEyIDcuMDUyMjggMTIuNDQ3NyA3LjUgMTMgNy41SDEzLjVaIiBmaWxsPSIjRkZCRjAwIi8+CjxwYXRoIGQ9Ik0zLjUgNi41QzMuNSA3LjA1MjI4IDMuOTQ3NzIgNy41IDQuNSA3LjVINUM1LjU1MjI4IDcuNSA2IDcuMDUyMjggNiA2LjVDNiA1Ljk0NzcyIDUuNTUyMjggNS41IDUgNS41SDQuNUMzLjk0NzcyIDUuNSAzLjUgNS45NDc3MiAzLjUgNi41WiIgZmlsbD0iI0ZGQkYwMCIvPgo8cGF0aCBkPSJNNS41IDEwLjVDNS41IDkuMzk1NDMgNi4zOTU0MyA4LjUgNy41IDguNUg5LjVDMTAuNjA0NiA4LjUgMTEuNSA5LjM5NTQzIDExLjUgMTAuNVYxMi41QzExLjUgMTMuMDUyMyAxMS4wNTIzIDEzLjUgMTAuNSAxMy41SDYuNUM1Ljk0NzcyIDEzLjUgNS41IDEzLjA1MjMgNS41IDEyLjVWMTAuNVoiIGZpbGw9IiNGRkJGMDAiLz4KPHBhdGggZD0iTTcuNSAxM0g5LjVWMTRDOS41IDE0LjU1MjMgOS4wNTIyOCAxNSA4LjUgMTVDNy45NDc3MiAxNSA3LjUgMTQuNTUyMyA3LjUgMTRWMTNaIiBmaWxsPSIjRkZCRjAwIi8+Cjwvc3ZnPg==) no-repeat}.monaco-editor .monaco-action-bar .action-item .action-label.codicon-lightbulb{color:#ffbf00!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{background-color:#e3f2fd!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon.codicon-lightbulb{color:#ffbf00!important}
