:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tiptap-wrapper{border:1px solid var(--border,#e2e8f0);border-radius:var(--radius-sm,8px);background:var(--bg,#f8fafc);overflow:hidden}.tiptap-toolbar{border-bottom:1px solid var(--border,#e2e8f0);background:var(--surface,#fff);flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;display:flex}.toolbar-btn{cursor:pointer;width:32px;height:32px;color:var(--text-secondary,#64748b);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.toolbar-btn:hover{background:var(--primary-light,#eef2ff);color:var(--primary,#6366f1)}.toolbar-btn.active{background:var(--primary,#6366f1);color:#fff}.toolbar-sep{background:var(--border,#e2e8f0);width:1px;height:20px;margin:0 4px}.tiptap-content .tiptap{min-height:200px;color:var(--text,#0f172a);outline:none;padding:14px 16px;font-size:15px;line-height:1.7}.tiptap-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-tertiary,#94a3b8);pointer-events:none;float:left;height:0}.tiptap-content .tiptap h1{margin:.5em 0 .3em;font-size:1.5em}.tiptap-content .tiptap h2{margin:.4em 0 .25em;font-size:1.25em}.tiptap-content .tiptap h3{margin:.3em 0 .2em;font-size:1.1em}.tiptap-content .tiptap ul,.tiptap-content .tiptap ol{margin:.3em 0;padding-left:1.5em}.tiptap-content .tiptap blockquote{border-left:3px solid var(--primary,#6366f1);color:var(--text-secondary,#64748b);margin:.5em 0;padding-left:1em}.tiptap-content .tiptap p{margin:.25em 0}:root{--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#eef2ff;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--bg:#f1f5f9;--surface:#fff;--text:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000a;--shadow:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--radius:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;overflow-x:hidden}input,select,textarea,button{font-size:inherit}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans KR,sans-serif;overflow-x:hidden}.app{max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden}.mobile-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;align-items:center;height:56px;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;display:flex}.hamburger span{background:var(--text);border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.mobile-title{color:var(--primary);letter-spacing:-.03em;margin-left:12px;font-size:18px;font-weight:800}.mobile-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;display:none;position:fixed;inset:0}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:70;flex-direction:column;flex-shrink:0;width:240px;transition:width .3s;display:flex;position:relative}.sidebar.collapsed{width:64px}.sidebar-toggle{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:24px;height:24px;box-shadow:var(--shadow-sm);z-index:80;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex;position:absolute;top:24px;right:-12px}.sidebar-toggle:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .sidebar-footer span,.sidebar.collapsed .nav-indicator{display:none}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:20px 12px}.sidebar.collapsed .nav-item{justify-content:center;padding:14px}.sidebar.collapsed .sidebar-footer{text-align:center;padding:16px}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:20px;display:flex}.brand-icon{background:linear-gradient(135deg, var(--primary), #818cf8);border-radius:var(--radius-sm);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.brand-name{color:var(--text);letter-spacing:-.03em;font-size:17px;font-weight:800}.brand-sub{color:var(--text-secondary);margin-top:1px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.nav-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:all .15s;display:flex;position:relative}.nav-item:hover{background:var(--primary-light);color:var(--primary)}.nav-item.active{background:var(--primary-light);color:var(--primary);font-weight:600}.nav-icon{flex-shrink:0}.nav-indicator{background:var(--primary);border-radius:3px 0 0 3px;width:3px;height:20px;position:absolute;top:50%;right:0;transform:translateY(-50%)}.sidebar-footer{border-top:1px solid var(--border);color:var(--text-tertiary);padding:14px 20px;font-size:11px}.main{flex:1;width:100%;min-width:0;padding:32px;overflow-y:auto}.page-enter-active,.page-leave-active{transition:opacity .15s,transform .15s}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-8px)}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}@media (width<=1024px){.sidebar-toggle{right:8px}.main{padding:24px}}@media (width<=768px){body{-webkit-tap-highlight-color:transparent}.mobile-header{display:flex}.mobile-overlay{display:block}.sidebar{box-shadow:var(--shadow-lg);transition:transform .3s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:280px!important}.sidebar.open{transform:translate(0)}.sidebar-toggle{display:none}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .sidebar-footer span,.sidebar.collapsed .nav-indicator{display:block}.sidebar.collapsed .sidebar-brand{justify-content:flex-start;padding:20px}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:10px 12px}.sidebar.collapsed .sidebar-footer{text-align:left;padding:14px 20px}.sidebar-brand{padding-top:72px}.main{width:100%;padding:72px 12px 20px}}@media (width<=420px){.main{padding:64px 8px 16px}}.fab{background:var(--primary);color:#fff;cursor:pointer;z-index:90;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #4f46e566}.fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #4f46e580}.fab:active{transform:scale(.95)}.fab-overlay{z-index:150;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fab-popup{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:520px;max-height:85vh;display:flex;overflow:hidden}.fab-popup-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.fab-popup-header h3{color:var(--text);font-size:16px;font-weight:700}.fab-popup-close{background:var(--bg);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.fab-popup-close:hover{background:var(--border);color:var(--text)}.fab-popup-body{flex-direction:column;flex:1;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.fab-title-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);box-sizing:border-box;width:100%;padding:10px 12px;font-size:16px;font-weight:700}.fab-title-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6366f114}.fab-title-input::placeholder{color:var(--text-tertiary);font-weight:500}.fab-memo-list{border-top:1px solid var(--border);padding-top:12px}.fab-memo-list-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding:0 4px;font-size:11px;font-weight:700}.fab-memo-list-scroll{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.fab-memo-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;text-align:left;flex-direction:column;flex-shrink:0;gap:2px;min-width:140px;max-width:200px;padding:8px 12px;transition:all .15s;display:flex}.fab-memo-item:hover,.fab-memo-item.active{border-color:var(--primary);background:var(--primary-light)}.fab-memo-item-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.fab-memo-item-preview{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.fab-popup-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;display:flex}.fab-popup-footer-right{gap:8px;display:flex}.fab-popup-footer .cal-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 20px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.fab-popup-footer .cal-btn.primary{background:var(--primary);color:#fff}.fab-popup-footer .cal-btn.primary:hover:not(:disabled){background:var(--primary-hover)}.fab-popup-footer .cal-btn.primary:disabled{opacity:.6;cursor:not-allowed}.fab-popup-footer .cal-btn.secondary{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.fab-popup-footer .cal-btn.secondary:hover{background:var(--border)}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.fab{width:48px;height:48px;bottom:16px;right:16px}.fab-popup-body,.fab-popup-header{padding:12px 16px}.fab-popup-footer{padding:10px 16px}}
