.editor{flex:1;padding:1rem;border:none;outline:none;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Courier New,Courier,monospace;font-size:.9rem;line-height:1.45;resize:none;background:linear-gradient(to bottom,#faf8f6,#f5f0eb);color:#323232;overflow-y:auto}.editor::placeholder{color:#999}.editor::-webkit-scrollbar{width:8px}.editor::-webkit-scrollbar-track{background:#f1f1f1}.editor::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.editor::-webkit-scrollbar-thumb:hover{background:#555}.preview{flex:1;padding:1rem;overflow-y:auto;background:#faf8f6;color:#323232;line-height:1.7}.preview::-webkit-scrollbar{width:8px}.preview::-webkit-scrollbar-track{background:#f1f1f1}.preview::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.preview::-webkit-scrollbar-thumb:hover{background:#555}.preview h1,.preview h2,.preview h3,.preview h4,.preview h5,.preview h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:700;line-height:1.3;color:#323232;letter-spacing:-.02em}.preview h1{font-size:2rem;border-bottom:2px solid #DDD0C8;padding-bottom:.5rem;color:#323232}.preview h2{font-size:1.6rem;border-bottom:1px solid #DDD0C8;padding-bottom:.4rem}.preview h3{font-size:1.3rem}.preview h4{font-size:1.1rem}.preview p{margin-bottom:1rem}.preview a{color:#323232;text-decoration:none;border-bottom:1px solid #9d8b7a;transition:all .2s ease;font-weight:500}.preview a:hover{color:#9d8b7a;border-bottom-color:#323232}.preview ul,.preview ol{margin-left:2rem;margin-bottom:1rem}.preview li{margin-bottom:.5rem}.preview code{background:linear-gradient(to bottom,#ebe3dc,#ddd0c8);padding:.2rem .5rem;border-radius:4px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Courier New,Courier,monospace;font-size:.9em;color:#6d5d4b;border:1px solid #c9baa9;font-weight:500}.preview pre{background:linear-gradient(135deg,#323232,#2a2a2a);color:#ddd0c8;padding:1rem;border-radius:8px;overflow-x:auto;margin-bottom:1rem;box-shadow:0 4px 6px -1px #3232324d,0 2px 4px -1px #32323233;border:1px solid rgba(50,50,50,.4)}.preview pre code{background:transparent;color:#ddd0c8;padding:0;border:none;font-size:.9rem}.preview blockquote{border-left:4px solid #9d8b7a;padding-left:1rem;margin:1rem 0;color:#555;font-style:italic;background:linear-gradient(to right,#ebe3dc,#f5f0eb);padding:1rem;border-radius:0 8px 8px 0;box-shadow:0 1px 3px #32323214}.preview table{border-collapse:collapse;width:100%;margin-bottom:1rem;box-shadow:0 2px 8px #0000000d}.preview table th,.preview table td{border:1px solid #e2e8f0;padding:.75rem;text-align:left}.preview table th{background:linear-gradient(135deg,#323232,#4a4a4a);color:#ddd0c8;font-weight:700;letter-spacing:.02em}.preview table tr:nth-child(2n){background:#f5f0eb}.preview table tr:hover{background:#ebe3dc}.preview hr{border:none;border-top:2px solid #e2e8f0;margin:2rem 0}.preview img{max-width:100%;height:auto;border-radius:6px;box-shadow:0 2px 8px #0000001a;margin:1rem 0}.mermaid-container{position:relative;margin:2rem 0;padding:1.5rem;background:#f7fafc;border-radius:8px;display:flex;justify-content:center;align-items:center;overflow-x:auto;box-shadow:0 2px 8px #0000000d}.mermaid-container svg{max-width:100%;height:auto}.mermaid-export-btn{position:absolute;top:.75rem;left:.75rem;z-index:10;opacity:0;transition:all .3s ease}.mermaid-container:hover .mermaid-export-btn{opacity:1}.export-trigger{display:flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background:linear-gradient(135deg,#323232,#4a4a4a);color:#ddd0c8;border:none;border-radius:7px;cursor:pointer;font-size:.85rem;font-weight:600;box-shadow:0 2px 8px #3232324d;transition:all .2s cubic-bezier(.4,0,.2,1)}.export-trigger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #32323266;background:linear-gradient(135deg,#3d3d3d,#555)}.export-trigger svg{flex-shrink:0}.export-menu{position:absolute;top:100%;left:0;margin-top:.5rem;background:#fff;border-radius:6px;box-shadow:0 4px 20px #00000026;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;min-width:140px}.export-menu.show{opacity:1;visibility:visible;transform:translateY(0)}.export-option{display:block;width:100%;padding:.6rem 1rem;background:#fff;color:#333;border:none;text-align:left;cursor:pointer;font-size:.9rem;transition:background .2s ease;border-bottom:1px solid #f0f0f0}.export-option:last-child{border-bottom:none}.export-option:hover{background:linear-gradient(135deg,#ddd0c84d,#ddd0c833);color:#323232;font-weight:500}.mermaid-error{color:#e53e3e;background:#fff5f5;border:1px solid #fc8181;border-radius:6px;padding:1rem}.mermaid-error strong{display:block;margin-bottom:.5rem}.mermaid-error pre{background:#fed7d7;color:#742a2a;padding:.5rem;border-radius:4px;margin-top:.5rem;font-size:.85rem}.mermaid-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{position:relative;width:90vw;height:90vh;background:#fff;border-radius:12px;box-shadow:0 10px 50px #0000004d;display:flex;flex-direction:column;overflow:hidden;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-controls{display:flex;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#323232,#4a4a4a);border-radius:12px 12px 0 0}.modal-control-btn,.modal-close-btn{width:40px;height:40px;background:#faf8f6f2;border:none;border-radius:8px;cursor:pointer;font-size:20px;font-weight:700;color:#323232;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a}.modal-control-btn:hover,.modal-close-btn:hover{background:#f0f0f0;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.modal-close-btn{margin-left:auto;color:#e53e3e}.modal-svg-container{flex:1;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#f7fafc;position:relative}.modal-svg-wrapper{transform-origin:center center;transition:transform .1s ease-out;-webkit-user-select:none;user-select:none}.modal-info{padding:1rem;text-align:center;background:linear-gradient(to right,#ddd0c833,#ddd0c826);color:#323232;font-size:.9rem;font-weight:600;border-radius:0 0 12px 12px;border-top:1px solid rgba(221,208,200,.3)}.mermaid-container svg{transition:opacity .3s ease}.mermaid-container:hover svg{opacity:.95}.app{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#c4b5a0,#ddd0c8,#e8dfd7)}.app-header{background:#faf8f6f2;padding:.5rem 1rem;box-shadow:0 1px 3px #32323214,0 1px 2px #3232320d;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);z-index:10;border-bottom:1px solid rgba(221,208,200,.3)}.header-left{display:flex;align-items:center;gap:.5rem}.app-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;color:#323232;font-weight:700;letter-spacing:-.02em;margin:0}.app-logo{width:28px;height:28px;border-radius:7px;box-shadow:0 2px 6px #32323226;object-fit:cover}.feedback-trigger{width:32px;height:32px;border-radius:8px;border:1px solid rgba(221,208,200,.8);background:linear-gradient(135deg,#faf8f6,#f5f0eb);color:#323232;font-size:1rem;cursor:pointer;box-shadow:0 1px 3px #3232321f;transition:all .2s ease}.feedback-trigger:hover{transform:translateY(-1px);box-shadow:0 4px 10px #3232322e}.header-controls{display:flex;gap:.6rem;align-items:center}.file-name{font-size:.85rem;color:#323232;padding:.4rem .8rem;background:linear-gradient(to bottom,#f5f0eb,#ebe3dc);border:1px solid #DDD0C8;border-radius:6px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.btn{padding:.4rem .9rem;border:none;border-radius:7px;font-size:.85rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-weight:600;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#ffffff26,#fff0);opacity:0;transition:opacity .2s}.btn:hover:before{opacity:1}.btn-primary{background:linear-gradient(135deg,#323232,#4a4a4a);color:#ddd0c8;box-shadow:0 1px 3px #3232324d,0 1px 2px #32323233}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #32323266,0 2px 4px #3232324d;background:linear-gradient(135deg,#3d3d3d,#555)}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 3px #32323266}.btn-secondary{background:linear-gradient(135deg,#9d8b7a,#b5a393);color:#323232;box-shadow:0 1px 3px #9d8b7a4d,0 1px 2px #9d8b7a33}.btn-secondary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #9d8b7a66,0 2px 4px #9d8b7a4d;background:linear-gradient(135deg,#b5a393,#c9baa9)}.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 3px #9d8b7a66}.template-dropdown{position:relative;display:inline-block}.btn-template{background:linear-gradient(135deg,#323232,#4a4a4a);color:#ddd0c8;display:flex;align-items:center;gap:4px;box-shadow:0 1px 3px #3232324d,0 1px 2px #32323233}.btn-template:hover{transform:translateY(-1px);box-shadow:0 4px 12px #32323266,0 2px 4px #3232324d;background:linear-gradient(135deg,#3d3d3d,#555)}.btn-template:active{transform:translateY(0);box-shadow:0 1px 3px #32323266}.template-menu{position:absolute;top:calc(100% + 8px);left:0;background:linear-gradient(to bottom,#faf8f6,#f5f0eb);border:1px solid rgba(221,208,200,.8);border-radius:10px;box-shadow:0 8px 24px #32323226,0 4px 12px #32323214;min-width:200px;z-index:1000;overflow:hidden;animation:slideDown .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.template-item{width:100%;padding:11px 16px;border:none;background:transparent;color:#323232;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:.88rem;transition:all .2s ease;border-bottom:1px solid rgba(221,208,200,.4);font-weight:500}.template-item:last-child{border-bottom:none}.template-item:hover{background:linear-gradient(135deg,#323232,#3d3d3d);color:#ddd0c8}.template-item:active{background:linear-gradient(135deg,#2a2a2a,#323232)}.template-icon{font-size:1.3rem;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.template-name{flex:1;letter-spacing:.01em}.feedback-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center}.feedback-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#14141459;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.feedback-content{position:relative;width:min(520px,90vw);background:linear-gradient(135deg,#faf8f6,#f1e8df);border:1px solid rgba(221,208,200,.8);border-radius:14px;box-shadow:0 12px 30px #32323240;padding:18px;z-index:1}.feedback-content h3{margin:0 0 10px;font-size:1rem;color:#323232}.feedback-content textarea{width:100%;min-height:140px;border-radius:10px;border:1px solid rgba(221,208,200,.9);background:#fbf9f7;color:#323232;padding:10px 12px;font-size:.9rem;line-height:1.45;resize:vertical;outline:none}.feedback-content textarea:focus{border-color:#b8a898;box-shadow:0 0 0 3px #b8a89833}.feedback-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:12px}.app-main{display:flex;flex:1;overflow:hidden;padding:.5rem;gap:.5rem}.editor-pane,.preview-pane{flex:1;display:flex;flex-direction:column;background:#faf8f6;border-radius:12px;box-shadow:0 4px 6px -1px #3232321a,0 2px 4px -1px #3232320f;overflow:hidden;border:1px solid rgba(221,208,200,.6)}.divider{width:3px;background:#ddd0c880;border-radius:2px;cursor:col-resize;transition:all .3s ease;position:relative}.divider:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:40px;background:#ddd0c8cc;border-radius:2px;opacity:0;transition:opacity .3s ease}.divider:hover{background:#ddd0c8cc}.divider:hover:before{opacity:1}@media (max-width: 768px){.app-main{flex-direction:column}.divider{width:100%;height:4px;cursor:row-resize}.header-controls{flex-wrap:wrap}.file-name{max-width:150px}}@media print{body{background:#fff}.app{height:auto;background:#fff}.app-header,.editor-pane,.divider{display:none!important}.app-main{padding:0;gap:0}.preview-pane{border:none;box-shadow:none;border-radius:0}.preview{padding:0}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}code{font-family:Courier New,Courier,monospace}#root{width:100vw;height:100vh}
