.qc-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;animation:qc-fade-in .12s ease}@keyframes qc-fade-in{0%{opacity:0}to{opacity:1}}.qc-modal{width:100%;max-width:560px;background:var(--bg);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px #00000038;overflow:hidden;animation:qc-slide-in .15s ease}@keyframes qc-slide-in{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.qc-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--border)}.qc-title-label{font-weight:700;font-size:14px;color:var(--text-primary)}.qc-hint{font-size:11px;color:var(--text-secondary);opacity:.7}.qc-title-input{display:block;width:100%;padding:14px 18px 6px;font-size:18px;font-weight:600;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:inherit}.qc-title-input::placeholder{color:var(--text-secondary);opacity:.5}.qc-content-input{display:block;width:100%;padding:4px 18px 12px;font-size:14px;border:none;outline:none;background:transparent;color:var(--text-secondary);font-family:inherit;resize:none;line-height:1.65}.qc-content-input::placeholder{color:var(--text-secondary);opacity:.45}.qc-error{margin:0 18px 8px;font-size:12px;color:#e05252}.qc-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px 14px;border-top:1px solid var(--border)}.landing{min-height:100vh}.landing-nav{position:sticky;top:0;z-index:100;background:#f0f4f2e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.landing-nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.landing-logo{font-size:20px;font-weight:700;color:var(--accent)}.landing-nav-actions{display:flex;gap:12px}.hero{padding:80px 0 60px}.hero-container{display:flex;align-items:center;gap:60px}.hero-text{flex:1}.hero-badge{display:inline-block;background:var(--accent-pale);color:var(--accent);font-size:13px;font-weight:600;padding:4px 14px;border-radius:20px;margin-bottom:24px}.hero-title{font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.2;letter-spacing:-1px;margin-bottom:20px}.hero-desc{font-size:17px;color:var(--text-secondary);line-height:1.7;margin-bottom:36px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.btn-lg{padding:14px 32px;font-size:16px}.hero-visual{flex-shrink:0;display:flex;justify-content:flex-end}.hero-card{width:280px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-card-title{font-weight:600;margin-bottom:10px;color:var(--text)}.hero-card-body{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.hero-card-links{display:flex;flex-direction:column;gap:6px}.hero-link-badge{font-size:13px;background:var(--accent-pale);color:var(--accent);padding:4px 10px;border-radius:8px;display:inline-block}.stats{padding:40px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat-item{text-align:center}.stat-value{font-size:36px;font-weight:700;color:var(--accent);line-height:1;margin-bottom:8px}.stat-label{font-size:14px;color:var(--text-secondary)}.features{padding:60px 0}.section-title{font-size:28px;font-weight:700;text-align:center;margin-bottom:12px}.section-desc{text-align:center;color:var(--text-secondary);font-size:16px;margin-bottom:48px}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.feature-card{transition:transform var(--transition)}.feature-card:hover{transform:translateY(-4px)}.feature-icon{font-size:32px;margin-bottom:14px}.feature-title{font-size:18px;font-weight:600;margin-bottom:8px}.feature-desc{font-size:14px;color:var(--text-secondary);line-height:1.7}.cta-section{padding:60px 0}.cta-inner{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-out);text-align:center;padding:64px 48px}.cta-inner h2{font-size:28px;font-weight:700;margin-bottom:12px}.cta-inner p{color:var(--text-secondary);margin-bottom:32px}.landing-footer{padding:24px 0;border-top:1px solid var(--border);text-align:center;font-size:13px;color:var(--text-secondary)}@media (max-width: 768px){.hero-container{flex-direction:column;text-align:center}.hero-visual{display:none}.hero-cta{justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr)}.features-grid{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:440px}.auth-logo{font-size:22px;font-weight:700;color:var(--accent);margin-bottom:28px}.auth-title{font-size:26px;font-weight:700;margin-bottom:8px}.auth-subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:32px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:var(--text)}.auth-error{background:#fff1f0;color:#c0392b;border:1px solid #fca5a5;border-radius:var(--radius-sm);padding:10px 14px;font-size:14px}.auth-submit{width:100%;padding:14px;font-size:16px;margin-top:4px}.auth-footer{margin-top:24px;text-align:center;font-size:14px;color:var(--text-secondary)}.navbar{position:sticky;top:0;z-index:100;background:#f0f4f2d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0;margin-bottom:32px}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.navbar-logo{font-size:20px;font-weight:700;color:var(--accent);letter-spacing:-.3px}.navbar-links{display:flex;align-items:center;gap:20px}.navbar-divider{width:1px;height:18px;background:var(--border)}.nav-link{font-size:14px;font-weight:500;color:var(--text-secondary);padding:6px 4px;transition:color var(--transition)}.nav-link:hover,.nav-link.active{color:var(--accent)}.btn-sm{padding:8px 16px;font-size:14px}.tag-badge{display:inline-flex;align-items:center;gap:4px;background:var(--accent-pale);color:var(--accent);font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}.tag-badge-remove{background:none;border:none;color:var(--accent);font-size:15px;line-height:1;padding:0 2px;opacity:.6;cursor:pointer;transition:opacity var(--transition)}.tag-badge-remove:hover{opacity:1}.note-card{display:block;background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-out);padding:20px 24px;transition:transform var(--transition),box-shadow var(--transition);color:var(--text);text-decoration:none}.note-card:hover{transform:translateY(-3px);box-shadow:8px 8px 18px #c0ccc8,-8px -8px 18px #fff}.note-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.note-card-title{font-size:16px;font-weight:600;line-height:1.4;flex:1}.note-card-date{font-size:12px;color:var(--text-secondary);white-space:nowrap}.note-card-preview{font-size:14px;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px}.note-card-tags{display:flex;flex-wrap:wrap;gap:6px}.note-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;color:var(--text);text-decoration:none;border-radius:var(--radius-sm);transition:background var(--transition)}.note-list-item:hover{background:var(--bg);box-shadow:var(--shadow-out)}.note-list-title{font-size:15px;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-list-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.note-list-date{font-size:12px;color:var(--text-secondary);white-space:nowrap}.note-feed-item{display:block;width:100%;padding:32px 0;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;transition:opacity var(--transition)}.note-feed-item:first-child{padding-top:8px}.note-feed-item:last-child{border-bottom:none}.note-feed-item:hover .note-feed-title{color:var(--accent)}.note-feed-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px}.note-feed-date{font-size:12px;color:var(--text-secondary)}.note-feed-title{font-size:22px;font-weight:700;line-height:1.35;margin-bottom:12px;letter-spacing:-.3px;transition:color var(--transition)}.note-feed-preview{width:100%;font-size:15px;color:var(--text-secondary);line-height:1.85}.note-feed-preview p{margin:0 0 12px}.note-feed-preview p:last-of-type{margin-bottom:0}.note-feed-more{display:inline-block;margin-top:12px;font-size:13px;font-weight:500;color:var(--accent);opacity:.8}.bulk-selectable{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.bulk-selected.note-card,.bulk-selected.note-list-item,.bulk-selected.note-feed-item{outline:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.bulk-checkbox{font-size:18px;line-height:1;flex-shrink:0;margin-right:8px;color:var(--accent)}.card-checkbox{position:absolute;top:10px;right:10px;font-size:20px;z-index:2}.feed-checkbox{position:absolute;top:14px;right:14px;font-size:20px;z-index:2}.note-pin-badge{font-size:12px;opacity:.8}.sf-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.sf-modal{background:var(--bg);border-radius:var(--radius);box-shadow:0 20px 60px #0000002e;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.sf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.sf-modal-header h3{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.sf-modal-close{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;line-height:1;padding:0 4px}.sf-modal-body{display:flex;flex-direction:column;gap:14px;padding:20px 24px 24px}.sf-label{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:-6px}.sf-required{color:#e11d48}.sf-input{width:100%;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;font-family:var(--font);color:var(--text);outline:none;box-shadow:var(--shadow-in);box-sizing:border-box;transition:border-color .15s}.sf-input:focus{border-color:var(--accent)}.sf-hint{font-size:13px;color:var(--text-secondary)}.sf-tag-grid{display:flex;flex-wrap:wrap;gap:6px}.sf-tag-btn{background:var(--bg);border:1.5px solid var(--border);border-radius:16px;padding:4px 12px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s;box-shadow:var(--shadow-out)}.sf-tag-btn.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.sf-tag-btn:not(.selected):hover{border-color:var(--accent);color:var(--accent)}.sf-match-mode{display:flex;align-items:center;gap:14px;background:#f0f4f2;border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.sf-match-label{color:var(--text-secondary);font-weight:600}.sf-radio{display:flex;align-items:center;gap:5px;cursor:pointer;color:var(--text)}.sf-date-row{display:flex;gap:6px;flex-wrap:wrap}.sf-date-btn{background:var(--bg);border:1.5px solid var(--border);border-radius:16px;padding:4px 12px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s;box-shadow:var(--shadow-out)}.sf-date-btn.selected{background:#1a7a5e;color:#fff;border-color:#1a7a5e}.sf-preview{background:#f0f4f2;border-radius:var(--radius-sm);padding:8px 12px;display:flex;gap:8px;align-items:center;font-size:12px}.sf-preview-label{font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.sf-preview-text{color:var(--text)}.sf-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.sf-error{background:#fff1f0;color:#c0392b;border:1px solid #fca5a5;border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.tpl-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:900;display:flex;align-items:center;justify-content:center;animation:qc-fade-in .12s ease}.tpl-modal{width:100%;max-width:480px;background:var(--bg);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 50px #0003;overflow:hidden}.tpl-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.tpl-heading{font-size:16px;font-weight:700;margin:0;color:var(--text-primary)}.tpl-close{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-secondary);padding:2px 6px;border-radius:4px;line-height:1;transition:all var(--transition)}.tpl-close:hover{background:var(--surface);color:var(--text-primary)}.tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}.tpl-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;transition:all var(--transition);position:relative}.tpl-item:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));transform:translateY(-1px)}.tpl-item:disabled{opacity:.6;cursor:not-allowed}.tpl-icon{font-size:26px;line-height:1}.tpl-label{font-size:12px;font-weight:500;color:var(--text-primary);text-align:center;word-break:keep-all}.tpl-spinner{position:absolute;top:6px;right:8px;font-size:12px;color:var(--accent)}.dashboard-page{min-height:100vh}.dashboard-body{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 64px);max-width:1400px;margin:0 auto;padding:0 16px;gap:0}.sf-sidebar{padding:24px 0;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:20px;min-height:100%;position:sticky;top:64px;max-height:calc(100vh - 64px);overflow-y:auto}.sf-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px}.sf-sidebar-title{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sf-add-btn{background:var(--bg);border:1.5px solid var(--border);border-radius:50%;width:24px;height:24px;font-size:18px;line-height:1;cursor:pointer;color:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-out);transition:all .15s}.sf-add-btn:hover{background:var(--accent);color:#fff}.sf-sidebar-empty{padding:0 16px;font-size:12px;color:var(--text-secondary);line-height:1.8}.sf-create-link{background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:0;text-decoration:underline}.sf-list{display:flex;flex-direction:column;gap:2px;padding:0 8px}.sf-item{display:flex;align-items:center;border-radius:var(--radius-sm);transition:background .12s;overflow:hidden}.sf-item:hover,.sf-item.active{background:#e6f4ef}.sf-item.active .sf-item-name{color:var(--accent);font-weight:600}.sf-item-name{flex:1;display:flex;align-items:center;gap:6px;padding:7px 8px;background:none;border:none;font-size:13px;color:var(--text);cursor:pointer;text-align:left;min-width:0}.sf-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-loading-dot{color:var(--text-secondary);font-size:11px}.sf-icon{flex-shrink:0;font-size:14px}.sf-item-actions{display:none;gap:2px;padding-right:6px}.sf-item:hover .sf-item-actions{display:flex}.sf-action-btn{background:none;border:none;font-size:12px;cursor:pointer;padding:3px 4px;border-radius:4px;opacity:.6;transition:opacity .12s}.sf-action-btn:hover{opacity:1}.tag-browser{display:flex;flex-direction:column;gap:8px;padding:0 16px}.tag-browser-header{display:flex;align-items:center;justify-content:space-between}.tag-mode-toggle{display:flex;gap:2px;background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:2px}.tag-mode-btn{background:none;border:none;padding:2px 8px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;color:var(--text-secondary);transition:all .12s}.tag-mode-btn.active{background:var(--accent);color:#fff}.tag-browser-list{display:flex;flex-direction:column;gap:3px}.tag-filter-btn{display:flex;justify-content:space-between;align-items:center;background:none;border:none;text-align:left;font-size:13px;color:var(--text);padding:5px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:all .12s;width:100%}.tag-filter-btn:hover{background:#e6f4ef;color:var(--accent)}.tag-filter-btn.selected{background:#e6f4ef;color:var(--accent);font-weight:600}.tag-count{font-size:11px;color:var(--text-secondary);background:#f0f4f2;padding:1px 6px;border-radius:8px}.tag-clear-btn{background:none;border:none;font-size:12px;color:#e11d48;cursor:pointer;padding:4px 8px;text-align:left}.dashboard-main{padding:24px 24px 60px;display:flex;flex-direction:column;gap:20px;min-width:0}.dashboard-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-wrap{flex:1;min-width:180px;position:relative}.search-input{width:100%;padding-right:32px}.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer}.sort-select{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;font-family:var(--font);color:var(--text);box-shadow:var(--shadow-out);cursor:pointer}.view-toggle{display:flex;gap:4px}.view-btn{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;font-family:var(--font);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-out);transition:all .12s}.view-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sf-active-bar{display:flex;align-items:center;gap:12px;background:#e6f4ef;border:1px solid #b6ddd0;border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;color:var(--text)}.sf-active-bar strong{color:var(--accent)}.sf-active-desc{color:var(--text-secondary);font-size:12px}.sf-active-close{margin-left:auto;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px}.sf-active-close:hover{color:#e11d48}.active-tags-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--text-secondary)}.active-tag-chip{display:flex;align-items:center;gap:4px;background:#e6f4ef;color:var(--accent);padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600}.active-tag-chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0;opacity:.7}.active-mode-badge{background:var(--accent);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:8px}.notes-grid{display:grid;gap:20px}.notes-grid.view-card{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.notes-grid.view-list{grid-template-columns:1fr;gap:12px}.notes-grid.view-feed{grid-template-columns:1fr;gap:24px}.dashboard-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;color:var(--text-secondary);font-size:15px}.dashboard-error{color:#e11d48;padding:20px;text-align:center}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:20px}.pagination-info{font-size:13px;color:var(--text-secondary)}@media (max-width: 900px){.dashboard-body{grid-template-columns:1fr}.sf-sidebar{position:static;max-height:none;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--border);padding:12px 16px;gap:12px}.sf-list{flex-direction:row;flex-wrap:wrap;padding:0}.tag-browser{padding:0}.tag-browser-list{flex-direction:row;flex-wrap:wrap}}@media (max-width: 600px){.dashboard-controls{flex-direction:column;align-items:stretch}.search-wrap{min-width:unset}.notes-grid.view-card{grid-template-columns:1fr}}.bulk-action-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:10px;margin-bottom:16px;flex-wrap:wrap}.bulk-count{font-size:13px;font-weight:600;color:var(--accent);flex-shrink:0}.bulk-action-bar .btn{font-size:13px;padding:5px 12px}.bulk-action-bar .spacer{flex:1}.btn-export{display:inline-flex;align-items:center;gap:5px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.clip-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 32px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 32px #0000002e}.clip-modal-header{display:flex;align-items:center;justify-content:space-between}.clip-modal-header h3{margin:0;font-size:17px;font-weight:700;color:var(--text)}.modal-close-btn{background:none;border:none;font-size:22px;color:var(--text-secondary);cursor:pointer;line-height:1;padding:0 4px}.modal-close-btn:hover{color:var(--text)}.clip-modal-desc{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.clip-url-row{display:flex;gap:8px}.clip-url-input{flex:1;padding:10px 14px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none}.clip-url-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.clip-error{margin:0;font-size:13px;color:#e11d48}.clip-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.se-editor{display:flex;flex-direction:column;min-height:60vh;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-in);overflow:hidden}.se-toolbar{display:flex;align-items:center;gap:2px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap}.se-fmt-btn{background:none;border:1px solid transparent;padding:4px 12px;border-radius:20px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:var(--font);white-space:nowrap}.se-fmt-btn:hover{border-color:var(--border);color:var(--text);background:var(--bg)}.se-fmt-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.se-toolbar-hint{margin-left:auto;font-size:11px;color:var(--text-secondary);opacity:.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.se-content{flex:1;padding:24px 28px 40px;display:flex;flex-direction:column;gap:0;cursor:text}.se-block{outline:none;width:100%;font-family:var(--font);color:var(--text);min-height:1em;padding:3px 0;caret-color:var(--accent);word-break:break-word;white-space:pre-wrap;transition:font-size .1s}.se-block:empty:before{content:attr(data-placeholder);color:var(--text-secondary);opacity:.35;pointer-events:none}.se-block.se-h1{font-size:26px;font-weight:700;line-height:1.3;margin-top:12px;margin-bottom:4px;letter-spacing:-.3px}.se-block.se-h1:first-child{margin-top:0}.se-block.se-h2{font-size:20px;font-weight:600;line-height:1.4;margin-top:10px;margin-bottom:2px}.se-block.se-h3{font-size:16px;font-weight:600;line-height:1.5;margin-top:8px;margin-bottom:2px;color:var(--text)}.se-block.se-p{font-size:15px;font-weight:400;line-height:1.8}.se-undo-group{display:flex;align-items:center;gap:2px;flex-shrink:0}.se-undo-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1.5px solid transparent;border-radius:6px;font-size:15px;color:var(--text-secondary);cursor:pointer;transition:all .12s;font-family:inherit;padding:0;line-height:1}.se-undo-btn:hover:not(:disabled){background:#f0f9f5;border-color:var(--border);color:var(--accent)}.se-undo-btn:disabled{opacity:.3;cursor:not-allowed}.se-toolbar-divider{width:1px;height:18px;background:var(--border);margin:0 6px;flex-shrink:0}.se-inline-btn{padding:4px 10px;border-radius:6px;font-size:14px}.se-ul-wrap,.se-ol-wrap{display:flex;align-items:flex-start;gap:6px;padding:2px 0}.se-ul-bullet,.se-ol-num{flex-shrink:0;font-size:15px;line-height:1.8;color:var(--text-secondary);-webkit-user-select:none;user-select:none;min-width:16px}.se-ol-num{min-width:22px;text-align:right}.se-block.se-ul,.se-block.se-ol{flex:1;font-size:15px;line-height:1.8;padding:0}.se-checkbox-wrap{display:flex;align-items:flex-start;gap:8px;padding:3px 0}.se-cb-input{flex-shrink:0;width:16px;height:16px;margin-top:4px;accent-color:var(--accent);cursor:pointer}.se-block.se-checkbox{flex:1;font-size:15px;line-height:1.8;padding:0}.se-block.se-checkbox.se-checked{text-decoration:line-through;color:var(--text-secondary);opacity:.6}.se-block.se-hr{padding:6px 0;min-height:auto;outline:none;cursor:default}.se-block.se-hr hr{border:none;border-top:1.5px solid var(--border);margin:0}.se-block.se-hr:focus{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.md-editor{display:flex;flex-direction:column;min-height:60vh;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-in);overflow:hidden}.md-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;gap:4px}.md-toolbar-left{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.md-undo-btn{width:28px;height:28px;background:none;border:1.5px solid transparent;border-radius:6px;font-size:15px;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;padding:0}.md-undo-btn:hover:not(:disabled){background:#f0f9f5;border-color:var(--border);color:var(--accent)}.md-undo-btn:disabled{opacity:.3;cursor:not-allowed}.md-btn{background:none;border:1px solid transparent;padding:4px 10px;border-radius:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;font-family:var(--font);transition:all .15s;white-space:nowrap}.md-btn:hover{border-color:var(--border);color:var(--text);background:var(--bg)}.md-sep{display:inline-block;width:1px;height:18px;background:var(--border);margin:0 4px;vertical-align:middle}.md-preview-toggle{background:none;border:1px solid var(--border);padding:4px 12px;border-radius:20px;font-size:13px;color:var(--text-secondary);cursor:pointer;font-family:var(--font);transition:all .15s;white-space:nowrap}.md-preview-toggle:hover,.md-preview-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}.md-textarea{flex:1;min-height:60vh;padding:24px 28px;font-size:15px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1.8;color:var(--text);background:transparent;border:none;outline:none;resize:none;caret-color:var(--accent)}.md-preview{flex:1;padding:24px 28px;font-size:15px;line-height:1.8;color:var(--text);overflow-y:auto}.md-preview h1{font-size:26px;font-weight:700;margin:16px 0 8px;letter-spacing:-.3px}.md-preview h2{font-size:20px;font-weight:600;margin:14px 0 6px}.md-preview h3{font-size:16px;font-weight:600;margin:12px 0 4px}.md-preview p{margin:6px 0}.md-preview ul,.md-preview ol{padding-left:20px;margin:6px 0}.md-preview li{margin:3px 0}.md-preview code{font-family:JetBrains Mono,monospace;font-size:13px;background:var(--border);padding:1px 5px;border-radius:4px}.md-preview pre{background:var(--border);padding:14px 18px;border-radius:var(--radius-sm);overflow-x:auto;margin:10px 0}.md-preview pre code{background:none;padding:0}.md-preview blockquote{border-left:3px solid var(--accent);margin:10px 0;padding:4px 16px;color:var(--text-secondary)}.md-preview hr{border:none;border-top:1px solid var(--border);margin:16px 0}.md-preview-empty{color:var(--text-secondary);opacity:.4;font-style:italic}.md-preview input[type=checkbox]{margin-right:6px}.markdown-preview-body{font-size:15px;line-height:1.6;color:var(--text, #333);word-wrap:break-word}.markdown-preview-body p{margin-bottom:16px}.markdown-preview-body h1,.markdown-preview-body h2,.markdown-preview-body h3,.markdown-preview-body h4,.markdown-preview-body h5,.markdown-preview-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-preview-body h1{font-size:2em;border-bottom:1px solid var(--border, #eee);padding-bottom:.3em}.markdown-preview-body h2{font-size:1.5em;border-bottom:1px solid var(--border, #eee);padding-bottom:.3em}.markdown-preview-body h3{font-size:1.25em}.markdown-preview-body ul,.markdown-preview-body ol{padding-left:2em;margin-bottom:16px}.markdown-preview-body li+li{margin-top:.25em}.markdown-preview-body blockquote{padding:0 1em;color:var(--text-secondary, #666);border-left:.25em solid var(--border, #dfe2e5);margin-bottom:16px}.markdown-preview-body code{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--bg-dark, #f6f8fa);border-radius:6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.markdown-preview-body pre code{padding:0;background-color:transparent}.markdown-preview-body img{max-width:100%;box-sizing:content-box;background-color:var(--bg, #fff)}.markdown-preview-body hr{height:.25em;padding:0;margin:24px 0;background-color:var(--border, #e1e4e8);border:0}.markdown-preview-body table{border-spacing:0;border-collapse:collapse;margin-bottom:16px;width:100%}.markdown-preview-body table th,.markdown-preview-body table td{padding:6px 13px;border:1px solid var(--border, #dfe2e5)}.markdown-preview-body table tr:nth-child(2n){background-color:var(--bg-dark, #f6f8fa)}.mermaid-container{display:flex;justify-content:center;margin:16px 0;background-color:var(--bg, #fff);padding:16px;border-radius:var(--radius, 8px);box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.1))}.crystallize-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.crystallize-modal{background:var(--bg);border-radius:16px;box-shadow:0 24px 64px #0000002e;padding:28px;width:100%;max-width:460px;max-height:80vh;overflow-y:auto;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.crystallize-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.crystallize-title-row{display:flex;align-items:center;gap:8px}.crystallize-icon{font-size:20px}.crystallize-title{font-size:18px;font-weight:700;color:var(--text);margin:0}.crystallize-progress-badge{font-size:13px;font-weight:600;color:var(--accent);background:#e6f4ef;padding:3px 10px;border-radius:20px}.crystallize-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:14px}.crystallize-notice{color:#b45309;font-style:normal;font-weight:500}.crystallize-progress-bar{height:4px;background:var(--border);border-radius:4px;margin-bottom:20px;overflow:hidden}.crystallize-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.crystallize-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.crystallize-item{padding:12px 14px;border-radius:10px;border:1.5px solid;transition:border-color .2s}.crystallize-item.pending{border-color:#fcd34d;background:#fffbeb}.crystallize-item.done{border-color:#6ee7b7;background:#f0fdf4}.link-pair{display:flex;align-items:center;gap:6px;margin-bottom:10px}.link-note-name{font-size:13px;font-weight:600;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.link-arrow{font-size:14px;color:var(--text-secondary);flex-shrink:0}.crystallize-input-row{display:flex;gap:8px;align-items:center}.crystallize-input{flex:1;border:none;border-bottom:1.5px solid var(--border);background:transparent;font-size:13px;color:var(--text);padding:6px 0;font-family:var(--font);outline:none;transition:border-color .15s}.crystallize-input:focus{border-bottom-color:var(--accent)}.crystallize-input:disabled{opacity:.6}.crystallize-confirm-btn{flex-shrink:0;font-size:12px;font-weight:600;padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .15s;font-family:var(--font)}.crystallize-confirm-btn:hover:not(:disabled){background:#1a7a5e}.crystallize-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.crystallize-done-text{font-size:13px;color:#059669;font-weight:500;margin:0;display:flex;align-items:center;gap:4px}.crystallize-error{font-size:12px;color:#dc2626;margin:6px 0 0}.crystallize-close-btn{display:block;width:100%;padding:10px;background:none;border:1.5px solid var(--border);border-radius:10px;font-size:13px;color:var(--text-secondary);cursor:pointer;font-family:var(--font);transition:border-color .15s,color .15s}.crystallize-close-btn:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 520px){.crystallize-modal{padding:20px;margin:16px;max-width:100%}}.editor-page{min-height:100vh}.editor-main{padding-top:0;padding-bottom:60px;display:flex;flex-direction:column;gap:20px}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-out)}.toolbar-right{display:flex;align-items:center;gap:12px}.save-indicator{font-size:13px;color:var(--accent);font-weight:600}.editor-error{background:#fff1f0;color:#c0392b;border:1px solid #fca5a5;border-radius:var(--radius-sm);padding:10px 14px;font-size:14px}.editor-layout{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:start}.editor-area{display:flex;flex-direction:column;gap:16px}.editor-title-input{width:100%;background:transparent;border:none;border-bottom:2px solid var(--border);padding:12px 0;font-size:28px;font-weight:700;color:var(--text);font-family:var(--font);outline:none;transition:border-color var(--transition)}.editor-title-input:focus{border-bottom-color:var(--accent)}.editor-content-input{width:100%;min-height:60vh;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px;font-size:15px;line-height:1.8;color:var(--text);resize:vertical;outline:none;box-shadow:var(--shadow-in);transition:border-color var(--transition)}.editor-content-input:focus{border-color:var(--accent)}.editor-sidebar{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-out);padding:20px;position:sticky;top:88px;display:flex;flex-direction:column;gap:24px}.sidebar-section{display:flex;flex-direction:column;gap:10px}.sidebar-title{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sidebar-empty{font-size:13px;color:var(--text-secondary)}.tag-list{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.tag-add-row{display:flex;gap:8px;align-items:center}.tag-add-row .btn{flex-shrink:0;white-space:nowrap;padding:8px 14px}.input-sm{padding:8px 12px;font-size:13px}.tag-pick-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.tag-pick-btn{text-align:left;background:none;border:none;font-size:13px;color:var(--text-secondary);padding:4px 0;cursor:pointer;transition:color var(--transition)}.tag-pick-btn:hover{color:var(--accent)}.linked-notes-list{display:flex;flex-direction:column;gap:6px}.linked-note-item{display:flex;align-items:center;justify-content:space-between;gap:8px}.linked-note-title{font-size:13px;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition)}.linked-note-title:hover{color:var(--accent)}.linked-note-remove{background:none;border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;flex-shrink:0;opacity:.5;transition:opacity var(--transition)}.linked-note-remove:hover{opacity:1}.editor-mode-toggle{display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:20px;padding:2px;gap:0}.mode-btn{background:none;border:none;padding:4px 14px;border-radius:18px;font-size:12px;font-weight:500;font-family:var(--font);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.mode-btn.active{background:var(--accent);color:#fff}.sidebar-title{display:flex;align-items:center;gap:6px}.sidebar-count{background:#e6f4ef;color:var(--accent);font-size:11px;font-weight:700;padding:1px 6px;border-radius:8px;letter-spacing:0;text-transform:none}.recs-loading{font-size:11px;color:var(--text-secondary);font-weight:400;margin-left:4px;text-transform:none;letter-spacing:0}.rec-list{display:flex;flex-direction:column;gap:8px}.rec-item{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:#f8fbfa;border:1px solid var(--border);transition:border-color .15s}.rec-item:hover{border-color:var(--accent)}.rec-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.rec-title{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s;text-decoration:none}.rec-title:hover{color:var(--accent)}.rec-reason{font-size:11px;color:#1a7a5e;background:#e6f4ef;padding:1px 6px;border-radius:6px;width:fit-content}.rec-tags{display:flex;flex-wrap:wrap;gap:3px}.rec-tag{font-size:11px;color:var(--text-secondary)}.rec-link-btn{flex-shrink:0;font-size:12px;padding:4px 10px;white-space:nowrap;color:var(--accent);border:1px solid var(--border)}.rec-link-btn:hover:not(:disabled){background:#e6f4ef;border-color:var(--accent)}.btn-danger{background:#fff1f0;color:#c0392b;box-shadow:none}.btn-danger:hover{background:#fca5a5}@media (max-width: 768px){.editor-layout{grid-template-columns:1fr}.editor-sidebar{position:static}}.btn-crystallize{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1.5px solid #fcd34d;color:#92400e;border-radius:var(--radius-sm);padding:6px 14px;font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .15s;box-shadow:0 1px 4px #fbbf2433}.btn-crystallize:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);border-color:#f59e0b;transform:translateY(-1px)}.crystallize-badge{background:#f59e0b;color:#fff;font-size:11px;font-weight:700;padding:1px 6px;border-radius:8px;min-width:18px;text-align:center}.pending-count{background:#fef3c7!important;color:#92400e!important}.unsaved-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:ub-fade-in .15s ease}@keyframes ub-fade-in{0%{opacity:0}to{opacity:1}}.unsaved-modal{background:var(--bg);border:1.5px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #0000002e;padding:36px 32px 28px;width:100%;max-width:380px;text-align:center;animation:ub-slide-up .18s ease}@keyframes ub-slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.unsaved-icon{font-size:36px;margin-bottom:12px;line-height:1}.unsaved-title{font-size:17px;font-weight:700;color:var(--text);margin:0 0 10px}.unsaved-desc{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0 0 24px}.unsaved-actions{display:flex;flex-direction:column;gap:8px}.unsaved-btn-save{width:100%;padding:11px;font-size:14px;font-weight:600}.unsaved-btn-discard{width:100%;padding:11px;font-size:14px}.unsaved-btn-cancel{width:100%;padding:9px;font-size:13px;color:var(--text-secondary)}.pin-indicator-bar{display:flex;align-items:center;gap:6px;padding:6px 0 10px;font-size:13px;color:var(--accent);font-weight:500}.pin-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:13px;cursor:pointer;color:var(--text-secondary);transition:all var(--transition);line-height:1.4}.pin-btn:hover{border-color:var(--accent);color:var(--accent)}.pin-btn.pinned{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-weight:600}.autosave{font-size:12px;color:var(--text-secondary);opacity:.75;margin-left:auto;display:flex;align-items:center;gap:4px;white-space:nowrap}.sidebar-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.sidebar-title-row .sidebar-section-title{margin-bottom:0}.sidebar-action-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer;color:var(--accent);white-space:nowrap;transition:all var(--transition);flex-shrink:0}.sidebar-action-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent)}.suggested-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.suggested-tag-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;border:1px dashed var(--accent);background:none;font-size:12px;color:var(--accent);cursor:pointer;transition:all var(--transition)}.suggested-tag-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.tag-confidence{font-size:10px;opacity:.65}.version-list{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:280px;overflow-y:auto}.version-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:var(--surface);font-size:12px;border:1px solid var(--border)}.version-item:hover{border-color:var(--accent)}.version-num{font-weight:600;color:var(--accent);flex-shrink:0;min-width:28px}.version-date{color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-xs{padding:2px 8px!important;font-size:11px!important;border-radius:4px!important;line-height:1.6!important}.ai-summary-banner{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;border-radius:10px;padding:14px 16px;animation:slide-down .2s ease}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ai-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:600;color:#15803d}.ai-summary-actions{display:flex;gap:6px}.ai-summary-text{font-size:14px;color:#166534;line-height:1.65;margin:0;white-space:pre-wrap}.ai-summary-hint{display:flex;align-items:center;gap:8px;font-size:12px;color:#15803d;padding:4px 0}.share-active{border-color:var(--accent)!important;color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 8%,transparent)!important}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:ub-fade-in .15s ease}.share-modal{background:var(--bg);border:1.5px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #0000002e;padding:32px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px;animation:ub-slide-up .18s ease}.share-modal-title{font-size:18px;font-weight:700;color:var(--text);margin:0}.share-modal-desc{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.share-expires{color:#d97706;font-size:12px;display:block;margin-top:4px}.share-link-row{display:flex;gap:8px}.share-link-input{flex:1;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}.share-revoke-btn{align-self:flex-start}.share-expire-row{display:flex;align-items:center;gap:12px}.share-expire-label{font-size:13px;color:var(--text-secondary);white-space:nowrap}.share-expire-select{flex:1}.share-create-btn{width:100%;padding:11px;font-weight:600}.share-close-btn{color:var(--text-secondary);align-self:center}.graph-page{display:flex;flex-direction:column;height:100vh;background:#f0f4f2}.graph-header{display:flex;align-items:center;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid #d1e0d8;flex-shrink:0}.graph-title{margin:0;font-size:1.1rem;font-weight:700;color:#1a7a5e}.graph-meta{font-size:.82rem;color:#6b7280;background:#f0f4f2;padding:3px 10px;border-radius:12px}.graph-hint{font-size:.78rem;color:#9ca3af;margin-left:auto}.graph-canvas-wrap{flex:1;position:relative;overflow:hidden}.graph-canvas{display:block;width:100%;height:100%}.graph-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;gap:6px;font-size:.95rem}.graph-error{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#e11d48;font-size:.95rem}.graph-tooltip{position:absolute;background:#fff;border:1px solid #d1e0d8;border-radius:10px;padding:10px 14px;box-shadow:4px 4px 12px #0000001a;pointer-events:none;max-width:200px;z-index:10}.graph-tooltip strong{display:block;font-size:.88rem;color:#1a2e26;margin-bottom:6px;word-break:break-all}.graph-tooltip-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.graph-tooltip-tag{background:#e6f4ef;color:#1a7a5e;font-size:.72rem;padding:2px 7px;border-radius:8px}.graph-tooltip-degree{font-size:.76rem;color:#9ca3af}.graph-legend{position:absolute;bottom:24px;left:24px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px;box-shadow:var(--shadow-out);display:flex;flex-direction:column;gap:6px;z-index:10;min-width:160px}.graph-legend-title{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.graph-legend-item{display:flex;align-items:center;gap:7px}.graph-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.graph-legend-label{font-size:12px;color:var(--text-secondary)}.graph-legend-divider{border-top:1px solid var(--border);margin:4px 0}.graph-legend-line{width:22px;height:2px;flex-shrink:0;border-radius:2px}.graph-legend-line.solid{background:#6366f1cc}.graph-legend-line.dashed{border-top:2px dashed rgba(99,102,241,.5);background:transparent}.graph-tooltip-vitality{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);margin-top:3px}.vitality-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.graph-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg)}.graph-header-left{display:flex;align-items:baseline;gap:12px}.activity-page{min-height:100vh;background:var(--bg)}.activity-main{padding:40px 0 80px}.activity-header{margin-bottom:32px}.activity-title{font-size:28px;font-weight:700;color:var(--text)}.activity-sub{margin-top:6px;color:var(--text-secondary);font-size:15px}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-item{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);border-left:4px solid var(--border);transition:transform var(--transition)}.activity-item:hover{transform:translate(4px)}.activity-item.color-green{border-left-color:#2a9d7a}.activity-item.color-blue{border-left-color:#3b82f6}.activity-item.color-red{border-left-color:#ef4444}.activity-item.color-purple{border-left-color:#8b5cf6}.activity-item.color-orange{border-left-color:#f59e0b}.activity-item.color-teal{border-left-color:#14b8a6}.activity-item.color-gray{border-left-color:#9ca3af}.activity-icon{font-size:20px;flex-shrink:0;margin-top:2px}.activity-body{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.activity-type-label{font-size:13px;font-weight:600;color:var(--text-secondary);background:var(--bg);padding:2px 8px;border-radius:20px;white-space:nowrap}.activity-note-title{font-size:15px;font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;text-align:left}.activity-note-title:hover{text-decoration:underline}.activity-detail{font-size:13px;color:var(--text-secondary)}.activity-time{font-size:12px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;margin-top:2px}.activity-empty{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:16px}.activity-more{text-align:center;margin-top:24px}.stats-page{min-height:100vh;background:var(--bg)}.stats-main{padding:40px 0 80px}.stats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:12px}.stats-title{font-size:28px;font-weight:700}.stats-export-btns{display:flex;gap:8px}.stat-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:40px}.stat-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.stat-card.accent{border:2px solid var(--accent)}.stat-value{font-size:32px;font-weight:800;color:var(--accent)}.stat-label{font-size:13px;color:var(--text-secondary);font-weight:600}.stat-sub{font-size:12px;color:var(--text-secondary);margin-top:2px}.stats-section{margin-bottom:40px}.stats-section-title{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--text)}.vitality-bars{display:flex;flex-direction:column;gap:10px}.vitality-bar-row{display:grid;grid-template-columns:180px 1fr 48px;align-items:center;gap:12px}.vitality-bar-label{font-size:13px;color:var(--text-secondary)}.progress-bar-wrap{display:flex;align-items:center;gap:8px}.progress-bar-bg{flex:1;height:10px;background:var(--bg-dark);border-radius:5px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:5px;transition:width .5s ease}.progress-bar-pct{font-size:12px;color:var(--text-secondary);white-space:nowrap}.vitality-bar-count{font-size:13px;color:var(--text);text-align:right}.hub-note-card{background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;width:100%;max-width:480px;cursor:pointer;border:none;transition:transform var(--transition)}.hub-note-card:hover{transform:translateY(-2px)}.hub-note-title{font-size:16px;font-weight:600;color:var(--accent)}.hub-note-meta{font-size:13px;color:var(--text-secondary)}.top-tags-list{display:flex;flex-direction:column;gap:8px}.top-tag-item{display:flex;align-items:center;gap:12px;background:var(--card);padding:10px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}.top-tag-rank{font-size:14px;font-weight:700;color:var(--accent);width:24px}.top-tag-name{flex:1;font-size:15px;font-weight:500}.top-tag-count{font-size:13px;color:var(--text-secondary)}.insights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-bottom:24px}.insight-card{background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);padding:18px;text-align:center;display:flex;flex-direction:column;gap:4px}.insight-value{font-size:28px;font-weight:800;color:var(--accent)}.insight-label{font-size:13px;color:var(--text-secondary)}.insights-sub{margin-top:32px;margin-bottom:32px}.insights-sub-title{font-size:17px;font-weight:700;margin-bottom:16px;color:var(--text);border-bottom:1px solid var(--border, #eee);padding-bottom:8px}.hub-list{display:flex;flex-direction:column;gap:8px}.hub-item{display:flex;align-items:center;justify-content:space-between;background:var(--card);padding:10px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}.hub-item-title{background:none;border:none;cursor:pointer;font-size:15px;font-weight:500;color:var(--accent);padding:0}.hub-item-title:hover{text-decoration:underline}.hub-item-meta{font-size:12px;color:var(--text-secondary)}.orphan-list{display:flex;flex-wrap:wrap;gap:8px}.orphan-title{background:var(--bg-dark);border:none;cursor:pointer;padding:6px 12px;border-radius:20px;font-size:13px;color:var(--text);transition:background var(--transition)}.orphan-title:hover{background:var(--accent-pale)}.orphan-more{font-size:13px;color:var(--text-secondary);padding:6px 0}@media (max-width: 600px){.vitality-bar-row{grid-template-columns:1fr}.stats-header{flex-direction:column;align-items:flex-start}}.shared-page{min-height:100vh;background:var(--surface);display:flex;flex-direction:column}.shared-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.shared-logo{font-size:18px;font-weight:700;color:var(--accent);text-decoration:none;font-family:var(--font)}.shared-badge{font-size:12px;padding:3px 10px;border-radius:20px;background:#f0fdf4;color:#15803d;border:1px solid #86efac;font-weight:500}.shared-main{flex:1;padding:40px 20px;max-width:720px;margin:0 auto;width:100%}.shared-article{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:40px 44px}.shared-title{font-size:28px;font-weight:700;color:var(--text);margin:0 0 16px;line-height:1.3}.shared-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;color:var(--text-secondary);margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border)}.shared-tags{display:flex;flex-wrap:wrap;gap:6px}.shared-tag{font-size:12px;padding:2px 8px;border-radius:12px;background:var(--surface);color:var(--accent);border:1px solid var(--border)}.shared-ai-summary{background:#f0fdf4;border:1.5px solid #86efac;border-radius:10px;padding:14px 16px;margin-bottom:24px}.shared-ai-label{display:block;font-size:12px;font-weight:600;color:#15803d;margin-bottom:6px}.shared-ai-summary p{font-size:14px;color:#166534;line-height:1.65;margin:0}.shared-content{font-size:15px;color:var(--text);line-height:1.75}.shared-content p{margin:0 0 8px}.shared-empty{color:var(--text-secondary);font-style:italic}.shared-footer{padding:24px;text-align:center;font-size:13px;color:var(--text-secondary);border-top:1px solid var(--border);background:var(--bg)}.shared-footer a{color:var(--accent);text-decoration:none;font-weight:600}.shared-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:16px;text-align:center;padding:20px}.shared-error-icon{font-size:48px}.shared-error-title{font-size:22px;font-weight:700;color:var(--text);margin:0}.shared-error-desc{font-size:15px;color:var(--text-secondary);margin:0}@media (max-width: 600px){.shared-article{padding:24px 20px}.shared-title{font-size:22px}}:root{--bg: #f0f4f2;--bg-dark: #e4ebe7;--card: #ffffff;--accent: #1a7a5e;--accent-light: #2a9d7a;--accent-pale: #e0f5ee;--text: #1e2d27;--text-secondary: #5a7068;--border: #d0ddd7;--shadow-out: 6px 6px 14px #c8d4cf, -6px -6px 14px #ffffff;--shadow-in: inset 4px 4px 10px #c8d4cf, inset -4px -4px 10px #ffffff;--shadow-card: 0 4px 20px rgba(26, 122, 94, .08);--radius: 16px;--radius-sm: 10px;--font: "Pretendard", -apple-system, BlinkMacSystemFont, sans-serif;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}input,textarea{font-family:inherit}ul,ol{list-style:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;transition:all var(--transition);box-shadow:var(--shadow-out)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-light);transform:translateY(-1px)}.btn-ghost{background:var(--bg);color:var(--accent)}.btn-ghost:hover{background:var(--accent-pale)}.input{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:15px;box-shadow:var(--shadow-in);transition:border-color var(--transition);outline:none}.input:focus{border-color:var(--accent)}.neu-card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-out);padding:24px}.container{max-width:1400px;margin:0 auto;padding:0 40px}.text-accent{color:var(--accent)}.text-secondary{color:var(--text-secondary)}.spinner-wrap{display:flex;justify-content:center;align-items:center;min-height:200px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}
