.mermaid-app *{box-sizing:border-box}.mermaid-app{--panel-w:400px;--mm-shadow:0 1px 2px #15181d0f, 0 10px 28px -16px #15181d47;flex:1;height:100%;min-height:0;font-size:13px;position:relative;overflow:hidden}.mermaid-app.page-light{background:var(--lc-bg);color:var(--lc-ink);line-height:1.5}.preview-canvas{background-color:var(--lc-bg);background-image:radial-gradient(#15181d21 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.preview-empty{color:var(--lc-ink-3);text-align:center;-webkit-user-select:none;user-select:none;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:2rem;font-size:13px;line-height:1.7;display:flex;position:absolute;inset:0}.preview-scroll{scrollbar-width:thin;scrollbar-color:#15181d38 transparent;cursor:grab;position:absolute;inset:0;overflow:auto}.preview-scroll::-webkit-scrollbar{width:6px;height:6px}.preview-scroll::-webkit-scrollbar-thumb{background:#15181d38;border-radius:4px}.preview-inner{width:max-content;min-width:100%;min-height:100%;padding:48px;display:flex}@media (width>=701px){.mermaid-app:not(.panel-collapsed) .preview-inner{padding-inline-start:calc(var(--panel-w) + 72px)}}.preview-content{margin:auto;display:flex}.preview-content svg{flex-shrink:0;display:block}.error-display{top:64px;z-index:25;width:min(440px,100% - 80px);box-shadow:var(--mm-shadow);background:#fdf1f0;border:1px solid #f1c7c2;border-radius:14px;padding:12px 14px;position:absolute;inset-inline-end:68px}@media (width>=701px){.mermaid-app:not(.panel-collapsed) .error-display{width:min(440px, calc(100% - var(--panel-w) - 150px))}}.error-header{color:#9f1c14;align-items:center;gap:6px;margin-bottom:8px;display:flex}.error-label{font-family:var(--lc-display);letter-spacing:.04em;font-size:12px;font-weight:600}.error-message{font-family:var(--lc-mono);color:#7a1a13;white-space:pre-wrap;word-break:break-word;max-height:40vh;margin:0;font-size:12px;line-height:1.5;overflow-y:auto}.map-controls{z-index:20;gap:8px;display:flex;position:absolute}.map-controls-export{top:12px;inset-inline-end:12px}.map-controls-zoom{bottom:20px;flex-direction:column;align-items:center;gap:8px;inset-inline-end:12px}.map-btn{background:var(--lc-surface);border:1px solid var(--lc-line-strong);min-width:40px;height:40px;color:var(--lc-ink);cursor:pointer;box-shadow:var(--mm-shadow);border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:flex}.map-btn svg{color:var(--lc-ink-2)}.map-btn:hover{background:var(--lc-surface-2);border-color:#15181d57}.map-btn:active{background:var(--lc-sunken)}.map-btn:focus-visible,.icon-btn:focus-visible,.btn-new:focus-visible,.btn-delete:focus-visible,.panel-toggle:focus-visible,.export-menu button:focus-visible,.file-name:focus-visible{outline:2px solid var(--lc-accent);outline-offset:2px}.map-btn-square{width:40px;padding:0}.map-btn-label{white-space:nowrap}.zoom-stack{background:var(--lc-surface);border:1px solid var(--lc-line-strong);box-shadow:var(--mm-shadow);border-radius:9px;flex-direction:column;display:flex;overflow:hidden}.zoom-stack .map-btn{box-shadow:none;background:0 0;border:none;border-radius:0}.zoom-stack .map-btn:hover{background:var(--lc-surface-2)}.zoom-stack-divider{background:var(--lc-line);height:1px;margin:0 7px}.zoom-label{color:var(--lc-ink-2);font-size:11px;font-family:var(--lc-mono);text-align:center;-webkit-user-select:none;user-select:none;background:var(--lc-surface);border:1px solid var(--lc-line);border-radius:6px;min-width:40px;padding:2px 5px}.export-wrap{position:relative}.export-menu{top:calc(100% + 6px);background:var(--lc-surface);border:1px solid var(--lc-line);z-index:40;border-radius:12px;min-width:240px;padding:5px;position:absolute;inset-inline-end:0;box-shadow:0 14px 34px -18px #15181d66}.export-menu button{text-align:start;width:100%;min-height:40px;color:var(--lc-ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;padding:8px 11px;font-family:inherit;font-size:13px;display:flex}.export-menu button:hover{background:var(--lc-accent-soft);color:var(--lc-accent-ink)}.editor-panel{top:12px;bottom:12px;width:var(--panel-w);background:var(--lc-surface);border:1px solid var(--lc-line);z-index:30;border-radius:14px;flex-direction:column;transition:transform .22s,opacity .22s;display:flex;position:absolute;inset-inline-start:12px;overflow:hidden auto;box-shadow:0 1px 2px #15181d0f,0 18px 44px -24px #15181d59}.mermaid-app.panel-collapsed .editor-panel{opacity:.4;pointer-events:none;visibility:hidden;transition:transform .22s,opacity .22s,visibility 0s linear .22s;transform:translate(calc(-100% - 24px))}.mermaid-app[dir=rtl].panel-collapsed .editor-panel{transform:translate(calc(100% + 24px))}.panel-toggle{top:50%;background:var(--lc-surface);border:1px solid var(--lc-line-strong);width:40px;height:58px;color:var(--lc-ink-2);cursor:pointer;z-index:29;box-shadow:var(--mm-shadow);border-radius:9px;justify-content:center;align-items:center;padding:0;transition:inset-inline-start .22s,background .12s,color .12s;display:flex;position:absolute;inset-inline-start:calc(var(--panel-w) + 18px);transform:translateY(-50%)}.panel-toggle:hover{background:var(--lc-surface-2);color:var(--lc-ink)}.mermaid-app.panel-collapsed .panel-toggle{inset-inline-start:8px}.panel-toggle svg{transition:transform .2s}.mermaid-app.panel-collapsed .panel-toggle svg,.mermaid-app[dir=rtl] .panel-toggle svg{transform:rotate(180deg)}.mermaid-app[dir=rtl].panel-collapsed .panel-toggle svg{transform:rotate(0)}.panel-files{border-bottom:1px solid var(--lc-line);background:var(--lc-surface-2);flex-direction:column;flex-shrink:0;display:flex}.files-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:4px 6px 2px 12px;display:flex}.sidebar-heading{font-family:var(--lc-display);color:var(--lc-ink-2);-webkit-user-select:none;user-select:none;font-size:12.5px;font-weight:600}.btn-new{background:var(--lc-surface);border:1px solid var(--lc-line-strong);width:40px;height:40px;color:var(--lc-ink-2);cursor:pointer;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:flex}.btn-new:hover{background:var(--lc-surface-2);color:var(--lc-ink);border-color:#15181d57}.file-list{scrollbar-width:thin;scrollbar-color:#15181d38 transparent;min-height:0;max-height:132px;margin:0;padding:0 6px 6px;list-style:none;overflow-y:auto}.file-list::-webkit-scrollbar{width:4px}.file-list::-webkit-scrollbar-thumb{background:#15181d38;border-radius:4px}.file-list-empty{color:var(--lc-ink-3);text-align:center;-webkit-user-select:none;user-select:none;padding:12px 8px;font-size:12px}.file-item{cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:6px;min-height:42px;margin-bottom:2px;padding:0 0 0 8px;transition:background .1s;display:flex}.file-item:hover{background:var(--lc-surface)}.file-item.active{background:var(--lc-accent-soft);border-color:var(--lc-accent-line)}.file-name{appearance:none;font:inherit;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-self:stretch;margin:0;padding:0}.file-item.active .file-name{color:var(--lc-accent-ink);font-weight:600}.file-icon{color:var(--lc-ink-3);flex-shrink:0;align-items:center;display:flex}.file-item.active .file-icon{color:var(--lc-accent)}.file-name{color:var(--lc-ink);text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none;flex:1;padding:0 4px;font-size:13px;line-height:1.3;overflow:hidden}.btn-delete{width:40px;height:40px;color:var(--lc-ink-3);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .1s,color .1s,background .1s;display:flex}.file-item:hover .btn-delete,.btn-delete:focus-visible{opacity:1}@media (hover:none){.btn-delete{opacity:1}}.btn-delete:hover{color:#b3261e;background:#fdf1f0}.icon-btn{width:40px;height:40px;color:var(--lc-ink-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:flex}.icon-btn:hover{background:var(--lc-surface-2);border-color:var(--lc-line);color:var(--lc-ink)}.icon-btn:active{background:var(--lc-sunken)}.editor-header{border-bottom:1px solid var(--lc-line);flex-shrink:0;align-items:center;gap:6px;min-height:50px;padding:0 6px 0 12px;display:flex}.editor-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.title-input{border:1px solid var(--lc-field-line);min-width:0;min-height:40px;color:var(--lc-ink);font-size:15px;font-weight:600;font-family:var(--lc-display);background:0 0;border-radius:9px;outline:none;flex:1;padding:0 8px;transition:border-color .15s,box-shadow .15s}.title-input:hover{border-color:var(--lc-ink-3)}.title-input:focus{border-color:var(--lc-accent);box-shadow:0 0 0 3px #2f53c82e}.title-input::placeholder{color:#8a8f99;font-weight:400}.beta-warning,.preview-empty{word-break:auto-phrase}.beta-warning{color:#6b4a0c;background:#fbf5e4;border-bottom:1px solid #f0e2bb;flex-shrink:0;align-items:flex-start;gap:7px;padding:7px 12px;font-size:11.5px;line-height:1.6;display:flex}.editor-body{flex:1 0 auto;height:0;min-height:120px;display:flex;position:relative;overflow:hidden}.line-numbers{text-align:right;width:38px;font-family:var(--lc-mono);color:var(--lc-ink-3);background:var(--lc-surface-2);border-right:1px solid var(--lc-line-2);-webkit-user-select:none;user-select:none;white-space:pre;padding:19px 0 10px;flex-shrink:0;padding-left:4px;padding-right:8px;font-size:12.5px;line-height:1.6;overflow:hidden}.code-editor{border:1px solid var(--lc-field-line);min-width:0;color:var(--lc-ink);font-family:var(--lc-mono);resize:none;tab-size:2;white-space:pre;overflow-wrap:normal;scrollbar-width:thin;scrollbar-color:#15181d38 transparent;caret-color:var(--lc-accent);background:0 0;border-radius:8px;outline:none;flex:1;margin-block:8px;margin-inline:0 8px;padding:10px 12px;font-size:12.5px;line-height:1.6;overflow:auto}.code-editor::-webkit-scrollbar{width:6px;height:6px}.code-editor::-webkit-scrollbar-thumb{background:#15181d38;border-radius:4px}.code-editor::placeholder{color:#8a8f99;white-space:pre-wrap}.code-editor:focus{border-color:var(--lc-accent);box-shadow:0 0 0 3px #2f53c82e}.code-editor::selection{background:#2f53c833}.editor-statusbar{border-top:1px solid var(--lc-line);background:var(--lc-surface-2);flex-shrink:0;align-items:center;gap:12px;height:28px;padding:0 12px;display:flex}.status-item{color:var(--lc-ink-3);-webkit-user-select:none;user-select:none;font-size:11px;font-family:var(--lc-mono)}.toast{color:#fff;pointer-events:none;opacity:0;white-space:nowrap;z-index:9999;background:#15181d;border:1px solid #15181d;border-radius:10px;padding:9px 16px;font-size:13px;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(12px);box-shadow:0 10px 28px -12px #15181d80}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.toast-error{color:#9f1c14;background:#fdf1f0;border-color:#f1c7c2}@media (width<=700px){.editor-panel{top:auto;inset-inline:0;border-bottom:none;border-left:none;border-right:none;border-radius:14px 14px 0 0;width:auto;height:48vh;bottom:0}.mermaid-app.panel-collapsed .editor-panel,.mermaid-app[dir=rtl].panel-collapsed .editor-panel{transform:translateY(calc(100% + 8px))}.panel-toggle{top:auto;bottom:calc(48vh + 10px);width:64px;height:44px;transition:bottom .22s,background .12s,color .12s;inset-inline-start:50%;transform:translate(-50%)}.mermaid-app.panel-collapsed .panel-toggle{inset-inline-start:50%;bottom:10px}.panel-toggle svg,.mermaid-app[dir=rtl] .panel-toggle svg{transform:rotate(-90deg)}.mermaid-app.panel-collapsed .panel-toggle svg,.mermaid-app[dir=rtl].panel-collapsed .panel-toggle svg{transform:rotate(90deg)}.mermaid-app:not(.panel-collapsed) .preview-inner{padding-bottom:calc(48vh + 40px)}.map-controls-zoom{top:64px;bottom:auto}.mermaid-app:not(.panel-collapsed) .error-message{max-height:max(2.5em,52vh - 215px)}.map-btn-label,.line-numbers{display:none}.code-editor{margin-inline-start:8px}.file-list{max-height:88px}}@media (width<=600px){.map-btn,.map-btn-square{min-width:44px;height:44px}.map-btn-square{width:44px}.btn-new,.icon-btn{width:44px;height:44px}.file-item{min-height:46px}.btn-delete{width:44px;height:44px}.title-input{min-height:44px}.editor-header{min-height:54px}.export-menu button{min-height:44px}}
