body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--font-main:"Pretendard",-apple-system,BlinkMacSystemFont,system-ui,Roboto,sans-serif;--color-bg:#fff;--color-bg-secondary:#f8fafc;--color-text:#1e293b;--color-text-secondary:#64748b;--color-border:#e2e8f0;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-danger:#ef4444;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background-color:#fff;background-color:var(--color-bg);color:#1e293b;color:var(--color-text);font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,sans-serif;font-family:var(--font-main);margin:0}.app-container{flex-direction:column;overflow:hidden}.app-container,.loading-screen{display:flex;height:100vh;height:100dvh}.loading-screen{color:#64748b;color:var(--color-text-secondary);font-size:15px}.auth-shell,.loading-screen{align-items:center;justify-content:center}.auth-shell{background:radial-gradient(circle at 20% 0,#f8fafc 0,#eef2f6 45%,#e2e8f0 100%);min-height:100vh;min-height:100dvh}.auth-card,.auth-shell{display:flex;padding:24px}.auth-card{background:#ffffffe6;border:1px solid #e2e8f0;border:1px solid var(--color-border);border-radius:16px;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;max-width:360px;width:100%}.auth-title{font-size:24px;font-weight:800;letter-spacing:-.02em}.auth-subtitle{color:#64748b;color:var(--color-text-secondary);font-size:14px;margin-bottom:6px}.auth-mode-tabs{display:flex;gap:8px}.auth-mode-btn{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border);border-radius:10px;color:#64748b;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font-size:13px;font-weight:700;padding:10px 0;transition:all .2s}.auth-mode-btn:hover{border-color:#cbd5e1;color:#1e293b;color:var(--color-text)}.auth-mode-btn.active{background:#eff6ff;border-color:#3b82f6;border-color:var(--color-primary);color:#3b82f6;color:var(--color-primary)}.auth-input{border:1px solid #e2e8f0;border:1px solid var(--color-border);border-radius:10px;font-size:15px;padding:12px;width:100%}.auth-input:focus{border-color:#3b82f6;border-color:var(--color-primary);outline:2px solid #3b82f640}.auth-error{color:#ef4444;color:var(--color-danger);font-size:13px}.auth-submit{background:#3b82f6;background:var(--color-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px;transition:background .2s}.auth-submit:hover{background:#2563eb;background:var(--color-primary-hover)}.auth-submit:disabled{cursor:not-allowed;opacity:.7}.tab-bar{align-items:flex-end;background-color:#eef2f6;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:4px;height:48px;padding:8px 16px 0}.tab-bar-right{align-items:center;display:flex;gap:10px;margin-bottom:4px;margin-left:auto}.logout-btn{background-color:#e2e8f0;border:none;border-radius:999px;color:#1e293b;color:var(--color-text);cursor:pointer;font-size:12px;font-weight:700;padding:6px 12px;transition:all .2s}.logout-btn:hover{background-color:#cbd5e1}.sortable-tab{align-items:center;background-color:initial;border-radius:8px 8px 0 0;color:#64748b;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;max-width:180px;padding:8px 16px;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none}.sortable-tab:hover{background-color:#ffffff80;color:#1e293b;color:var(--color-text)}.sortable-tab.active{box-shadow:0 -1px 2px #0000000d;color:#3b82f6;color:var(--color-primary);font-weight:600;z-index:10}.sortable-tab.active,.sortable-tab.active:after{background-color:#fff;background-color:var(--color-bg)}.sortable-tab.active:after{bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.tab-close-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;margin-left:8px;opacity:0;padding:2px;transition:all .2s;width:20px}.sortable-tab.active .tab-close-btn,.sortable-tab:hover .tab-close-btn{opacity:1}.tab-close-btn:hover{background-color:#fee2e2;color:#ef4444;color:var(--color-danger)}.add-page-btn{align-items:center;background-color:initial;border:none;border-radius:50%;color:#64748b;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;margin-bottom:4px;margin-right:8px;transition:background .2s;width:28px}.add-page-btn:hover{background-color:#0000000d;color:#3b82f6;color:var(--color-primary)}.main-editor{display:flex;flex:1 1;overflow:hidden}.editor-layout{display:flex;height:100%;width:100%}.editor-pane{background-color:#fff;background-color:var(--color-bg);display:flex;flex:1 1;flex-direction:column;min-height:0}.title-bar{flex-shrink:0;padding:20px 32px 10px}.title-input{background:#0000;border:none;color:#1e293b;color:var(--color-text);font-size:24px;font-weight:700;outline:none;padding:8px 0;width:100%}.title-input::placeholder{color:#cbd5e1}.cm-theme{font-family:JetBrains Mono,monospace;font-size:15px;height:100%;line-height:1.6}.cm-editor{display:flex!important;flex-direction:column!important;height:100%}.cm-scroller{-webkit-overflow-scrolling:touch;flex:1 1!important;overflow-y:auto!important;padding:20px 20px 60px!important;touch-action:pan-y}.resize-handle{background-color:#e2e8f0;background-color:var(--color-border);cursor:col-resize;position:relative;transition:background .2s;width:1px;z-index:20}.resize-handle:hover{background-color:#3b82f6;background-color:var(--color-primary);width:4px}.preview-pane{background-color:#fff;background-color:var(--color-bg);color:#1e293b;color:var(--color-text);flex:1 1;font-size:16px;line-height:1.7;overflow-y:auto;padding:32px 40px}.preview-pane h1{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border);font-size:2em;margin-bottom:.5em;padding-bottom:.3em}.preview-pane h2{font-size:1.5em;margin-bottom:.5em;margin-top:1.5em}.preview-pane p{margin-bottom:1.2em}.preview-pane code{background-color:#f1f5f9;border-radius:4px;font-family:monospace;font-size:.9em;padding:2px 4px}.preview-pane pre{background-color:#1e293b;border-radius:8px;color:#f8fafc;overflow-x:auto;padding:16px}.preview-pane blockquote{border-left:4px solid #3b82f6;border-left:4px solid var(--color-primary);color:#64748b;color:var(--color-text-secondary);margin:0;padding-left:16px}.preview-pane img{border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);max-width:100%}.mobile-header{align-items:center;background-color:#fff;background-color:var(--color-bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border);display:none;height:56px;justify-content:space-between;padding:0 16px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.popup-trigger{align-items:center;background:#0000;border:none;border-radius:8px;color:#1e293b;color:var(--color-text);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.popup-trigger:active{background-color:#f1f5f9}.mobile-actions{align-items:center;display:flex;gap:4px}.logout-trigger{font-size:12px;font-weight:700;padding:0 8px;width:auto}.mobile-title{font-size:16px;font-weight:700;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-overlay{align-items:flex-end;animation:fadeIn .2s ease-out;background-color:#0006;display:flex;inset:0;position:fixed;z-index:1000}.modal-content{animation:slideUp .3s ease-out;background-color:#fff;background-color:var(--color-bg);border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #00000026;display:flex;flex-direction:column;max-height:80vh;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:16px 20px}.modal-title{font-size:18px;font-weight:700}.modal-header-actions{align-items:center;display:flex;gap:8px}.modal-logout{background-color:#e2e8f0;border:none;border-radius:8px;color:#1e293b;color:var(--color-text);cursor:pointer;font-size:12px;font-weight:700;padding:6px 10px}.modal-close{background:#0000;border:none;color:#64748b;color:var(--color-text-secondary);cursor:pointer;font-size:24px;padding:4px}.page-list{overflow-y:auto;padding:8px 16px 32px}.page-item{align-items:center;background-color:#fff;background-color:var(--color-bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border);display:flex;padding:16px;transition:background .2s}.page-item:active{background-color:#f8fafc}.page-item-handle{color:#cbd5e1;cursor:grab;font-size:20px;margin-right:8px;padding:8px}.page-item-content{flex:1 1;font-size:16px;font-weight:500}.page-item-delete{background-color:#fee2e2;border:none;border-radius:6px;color:#ef4444;color:var(--color-danger);font-size:13px;font-weight:600;margin-left:12px;padding:8px 12px}.mobile-view-tabs{background-color:#1e293b;background-color:var(--color-text);border-radius:100px;bottom:20px;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);display:none;left:50%;padding:4px;position:fixed;transform:translateX(-50%);z-index:100}.view-tab-btn{background:#0000;border:none;border-radius:96px;color:#94a3b8;cursor:pointer;font-size:14px;font-weight:600;padding:8px 24px;transition:all .2s}.view-tab-btn.active{background-color:#fff;background-color:var(--color-bg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#1e293b;color:var(--color-text)}.app-logo,.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background-clip:text;-webkit-background-clip:text;color:#1e293b;color:var(--color-text);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:16px;font-weight:800;letter-spacing:-.5px;margin-right:0}.logo-text{font-size:18px;margin-right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width:768px){.tab-bar{display:none!important}.mobile-header,.mobile-view-tabs{display:flex}.editor-layout{flex-direction:column}.resize-handle{display:none}.title-bar{padding:16px 20px 0}.title-input{font-size:20px}.cm-scroller{padding:0 20px 80px!important}.preview-pane{padding:20px 20px 80px}.editor-pane.hidden,.preview-pane.hidden{display:none}}
/*# sourceMappingURL=main.ac065a8f.css.map*/