:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#222;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}body{margin:0}#root{min-height:100vh}.app-error{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.app-error__card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;width:100%;max-width:460px;padding:28px;box-shadow:0 6px 24px #0000000f}.app-error__title{margin:0 0 8px;font-size:18px}.app-error__msg{color:#555;margin:0 0 16px;font-size:14px}.app-error__detail{color:#a13b2d;white-space:pre-wrap;word-break:break-word;background:#f6f6f6;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:12px;overflow-x:auto}.app-error__btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:8px 18px;font-size:14px}.app-error__btn:hover{background:#4338ca}.ar-overlay{z-index:1200;background:#00000073;justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.ar-panel{background:var(--nb-bg,#fff);border:1px solid var(--nb-border-faint,#e5e7eb);border-radius:var(--nb-r-lg,10px);flex-direction:column;gap:20px;width:100%;max-width:760px;padding:24px 28px;display:flex;box-shadow:0 8px 32px #0000002e}.ar-header{justify-content:space-between;align-items:center;display:flex}.ar-title{color:var(--nb-text,#111);margin:0;font-size:18px;font-weight:700}.ar-close{color:var(--nb-text-3,#9ca3af);cursor:pointer;border-radius:var(--nb-r-xs,4px);background:0 0;border:none;padding:2px 6px;font-size:22px;line-height:1}.ar-close:hover{background:var(--nb-bg-surface,#f3f4f6);color:var(--nb-text,#111)}.ar-controls{align-items:center;gap:10px;display:flex}.ar-period-select{border:1px solid var(--nb-border-faint,#e5e7eb);border-radius:var(--nb-r-xs,4px);background:var(--nb-bg,#fff);color:var(--nb-text,#111);cursor:pointer;padding:6px 10px;font-family:inherit;font-size:13px}.ar-generate-btn{border-radius:var(--nb-r-xs,4px);background:var(--nb-weekly-accent,#5046a6);color:#fff;cursor:pointer;border:none;padding:6px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:opacity .15s}.ar-generate-btn:hover:not(:disabled){opacity:.85}.ar-generate-btn:disabled{opacity:.5;cursor:not-allowed}.ar-empty,.ar-no-data{color:var(--nb-text-3,#9ca3af);padding:12px 0;font-size:13px}.ar-error{color:#dc2626;border-radius:var(--nb-r-xs,4px);background:#fef2f2;border:1px solid #fecaca;padding:8px 12px;font-size:13px}.ar-generated-label{color:var(--nb-text-3,#9ca3af);letter-spacing:.02em;margin:0;font-size:11px}.ar-results{flex-direction:column;gap:24px;display:flex}.ar-section{flex-direction:column;gap:10px;display:flex}.ar-section-title{color:var(--nb-text-2,#374151);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--nb-border-faint,#e5e7eb);margin:0;padding-bottom:6px;font-size:13px;font-weight:600}.ar-bar-list{flex-direction:column;gap:6px;display:flex}.ar-bar-row{grid-template-columns:160px 1fr 80px;align-items:center;gap:10px;display:grid}.ar-bar-label{color:var(--nb-text,#111);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ar-bar-track{background:var(--nb-bg-surface,#f3f4f6);border-radius:99px;height:10px;overflow:hidden}.ar-bar-fill{background:var(--nb-weekly-accent,#5046a6);border-radius:99px;height:100%;transition:width .4s}.ar-bar-meta{color:var(--nb-text-2,#374151);justify-content:flex-end;align-items:center;gap:4px;font-size:12px;display:flex}.ar-trend{font-size:11px;font-weight:700}.ar-trend--up{color:#16a34a}.ar-trend--down{color:#dc2626}.ar-trend--stable{color:var(--nb-text-3,#9ca3af)}.ar-mood-legend{color:var(--nb-text-3,#9ca3af);flex-wrap:wrap;gap:10px;font-size:11px;display:flex}.ar-mood-legend-item{align-items:center;gap:3px;display:flex}.ar-mood-legend-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.ar-mood-legend-dot--empty{background:var(--nb-bg-surface,#f3f4f6);border:1px solid var(--nb-border-faint,#e5e7eb)}.ar-mood-grid{flex-wrap:wrap;gap:3px;display:flex}.ar-mood-square{cursor:default;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;transition:transform .1s;display:flex}.ar-mood-square:hover{z-index:1;position:relative;transform:scale(1.25)}.ar-mood-square--empty{background:var(--nb-bg-surface,#f3f4f6);border:1px solid var(--nb-border-faint,#e5e7eb)}.ar-pattern-list{flex-direction:column;gap:8px;display:flex}.ar-pattern{border-radius:var(--nb-r-sm,6px);border:1px solid #0000;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.ar-pattern--alert{background:#fef2f2;border-color:#fecaca}.ar-pattern--notice{background:#fffbeb;border-color:#fde68a}.ar-pattern--info{background:var(--nb-bg-surface,#f9fafb);border-color:var(--nb-border-faint,#e5e7eb)}.ar-pattern__icon{flex-shrink:0;margin-top:1px;font-size:14px}.ar-pattern__body{flex-direction:column;gap:2px;display:flex}.ar-pattern__rule{color:var(--nb-text-2,#374151);letter-spacing:.04em;font-family:monospace;font-size:11px;font-weight:700}.ar-pattern__desc{color:var(--nb-text,#111);margin:0;font-size:13px;line-height:1.5}.ar-header-actions{align-items:center;gap:6px;display:flex}.ar-export-btn{border:1px solid var(--nb-border-faint,#e5e7eb);border-radius:var(--nb-r-xs,4px);background:var(--nb-bg-surface,#f9fafb);color:var(--nb-text-2,#374151);cursor:pointer;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:background .1s}.ar-export-btn:hover{background:var(--nb-bg,#fff)}.ar-ai-loading{color:var(--nb-text-3,#9ca3af);align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.ar-ai-loading__spinner{border:2px solid var(--nb-border-faint,#e5e7eb);border-top-color:var(--nb-weekly-accent,#5046a6);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite ar-spin}@keyframes ar-spin{to{transform:rotate(360deg)}}.ar-narrative{color:var(--nb-text,#111);margin:0 0 16px;font-size:14px;line-height:1.7}.ar-prediction{border-radius:var(--nb-r-sm,6px);border:1px solid var(--nb-border-faint,#e5e7eb);flex-direction:column;gap:6px;margin-bottom:14px;padding:12px 14px;display:flex}.ar-prediction--high{background:#f0fdf4;border-color:#86efac}.ar-prediction--medium{background:#fffbeb;border-color:#fde68a}.ar-prediction--low{background:var(--nb-bg-surface,#f9fafb)}.ar-prediction__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.ar-prediction__label{text-transform:uppercase;letter-spacing:.06em;color:var(--nb-text-2,#374151);font-size:11px;font-weight:700}.ar-prediction__confidence{border-radius:99px;padding:2px 7px;font-size:11px;font-weight:600}.ar-prediction__confidence--high{color:#16a34a;background:#dcfce7}.ar-prediction__confidence--medium{color:#a16207;background:#fef9c3}.ar-prediction__confidence--low{background:var(--nb-bg-surface,#f3f4f6);color:var(--nb-text-3,#9ca3af)}.ar-prediction__text{color:var(--nb-text,#111);margin:0;font-size:13px;line-height:1.5}.ar-prediction__reasoning{color:var(--nb-text-3,#9ca3af);margin:0;font-size:12px;font-style:italic}.ar-questions{flex-direction:column;gap:6px;display:flex}.ar-questions__label{color:var(--nb-text-2,#374151);font-size:12px;font-weight:600}.ar-questions__list{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.ar-questions__list li{color:var(--nb-text,#111);font-size:13px;line-height:1.5}@media print{.ar-overlay{background:0 0;padding:0;display:block;position:static}.ar-panel{box-shadow:none;border:none;max-width:100%;padding:0}.ar-controls,.ar-header-actions,.ar-close{display:none!important}.ar-results{gap:16px}.ar-bar-fill{transition:none}}:root{--nb-bg-page:#fdf8ed;--nb-bg-surface:#fffef9;--nb-bg-hover:#f5ecd5;--nb-border-faint:#ede5d3;--nb-border:#d6c9b0;--nb-border-focus:#b5a078;--nb-text:#1c1814;--nb-text-2:#6b6256;--nb-text-3:#a89f90;--nb-ai-bg:#f0faf4;--nb-ai-bg-surface:#f8fdfb;--nb-ai-border:#bfe8cf;--nb-ai-border-focus:#7ec8a0;--nb-ai-border-header:#d4f0e2;--nb-ai-accent:#2a7a50;--nb-ai-accent-hover:#1b5c3a;--nb-ai-text:#1a3828;--nb-ai-text-2:#4a7a60;--nb-ai-muted:#94c4aa;--ai-user-bubble:#00000012;--nb-code-color:#8b3e1a;--nb-weekly-bg:#f6f4ff;--nb-weekly-border:#d4cdf5;--nb-weekly-accent:#5046a6;--nb-weekly-today-bg:#fff4d6;--nb-weekly-today-accent:#f08c00;--nb-accent:#7c6030;--nb-accent-hover:#5c4820;--nb-accent-light:#ede0c4;--nb-r-cell:8px;--nb-r-sm:5px;--nb-r-xs:3px;--nb-danger:#c03030;--nb-danger-hover:#a02020;--nb-danger-light:#f87171;--nb-white:#fff;--nb-neutral-200:#e5e5e5;--nb-neutral-300:#d0d0d0;--nb-overlay:#00000073;--space-2xs:2px;--space-xs:4px;--space-sm:6px;--space-md:8px;--space-lg:12px;--space-xl:16px;--space-2xl:24px;--space-3xl:32px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--nb-r-md:6px;--nb-r-lg:12px;--nb-r-full:999px;--nb-shadow-sm:0 1px 3px #3c280a0f;--nb-shadow-md:0 4px 12px #3c280a17;--nb-shadow-lg:0 6px 24px #3c280a1f;--z-base:1;--z-sticky:10;--z-dropdown:200;--z-overlay:300;--z-modal:1000;--z-toast:9999;--dur-fast:.12s;--dur-base:.2s;--ease:cubic-bezier(.4, 0, .2, 1)}.nb-btn{justify-content:center;align-items:center;gap:var(--space-xs);font-family:inherit;font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);border:1px solid #0000;line-height:1;display:inline-flex}.nb-btn:disabled{opacity:.4;cursor:not-allowed}.nb-btn--md{font-size:var(--text-md);padding:5px var(--space-lg);border-radius:var(--nb-r-sm)}.nb-btn--sm{font-size:var(--text-xs);padding:3px var(--space-md);border-radius:var(--nb-r-xs)}.nb-btn--primary{background:var(--nb-accent);color:var(--nb-white);border-color:#0000}.nb-btn--primary:hover:not(:disabled){background:var(--nb-accent-hover)}.nb-btn--secondary{color:var(--nb-text-2);border-color:var(--nb-border);background:0 0}.nb-btn--secondary:hover:not(:disabled){background:var(--nb-bg-hover);border-color:var(--nb-border-focus)}.nb-btn--ghost{color:var(--nb-text-2);border:1px dashed var(--nb-border);background:0 0}.nb-btn--ghost:hover:not(:disabled){background:var(--nb-bg-hover);border-color:var(--nb-border-focus);color:var(--nb-text)}.nb-btn--danger{color:var(--nb-danger);background:#c030301a;border-color:#c030302e}.nb-btn--danger:hover:not(:disabled){background:#c030302e;border-color:#c0303052}.nb-btn--icon{color:var(--nb-text-3);padding:4px var(--space-sm);border-radius:var(--nb-r-xs);background:0 0;border-color:#0000}.nb-btn--icon.nb-btn--sm{padding:2px var(--space-xs)}.nb-btn--icon:hover:not(:disabled){background:var(--nb-bg-hover);color:var(--nb-text-2)}.nb-btn--icon-danger:hover:not(:disabled){color:var(--nb-danger);background:#c8323214}.nb-btn--full{justify-content:flex-start;width:100%}*{box-sizing:border-box}body{background:var(--nb-bg-page);color:var(--nb-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{flex:1;min-height:0;display:flex}.app-header{border-bottom:1px solid var(--nb-border-faint);background:var(--nb-bg-surface);box-shadow:var(--nb-shadow-sm);align-items:center;gap:12px;padding:14px 32px;display:flex}.app-header h1{color:var(--nb-text);letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.save-status{font-size:12px;transition:opacity .2s}.save-status--pending{color:var(--nb-text-3)}.save-status--saved{color:var(--nb-ai-accent)}.app-main{flex:1;justify-content:center;align-items:flex-start;min-width:0;padding:32px 16px 64px;display:flex;overflow-y:auto}.app-main--bg{background-position:50%;background-size:cover;background-attachment:fixed}.notebook-wrap{width:100%;max-width:960px;transition:opacity var(--dur-base) var(--ease);flex-direction:column;display:flex;position:relative}.notebook-wrap--hidden{opacity:0;pointer-events:none}.lang-switcher{border:1px solid var(--nb-border-faint);border-radius:var(--nb-r-sm);background:var(--nb-bg-surface);gap:2px;padding:2px;display:inline-flex}.lang-switcher__btn{color:var(--nb-text-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.03em;border-radius:var(--nb-r-xs);cursor:pointer;background:0 0;border:none;padding:2px 6px}.lang-switcher__btn:hover{color:var(--nb-text-2)}.lang-switcher__btn.is-active{background:var(--nb-accent-light);color:var(--nb-accent-hover)}.notebook-loading{justify-content:center;align-items:center;gap:var(--space-md);color:var(--nb-text-3);font-size:var(--text-base);background:var(--nb-bg-page);display:flex;position:absolute;inset:0}.notebook-loading__spinner{border:2px solid var(--nb-border-faint);border-top-color:var(--nb-accent);border-radius:var(--nb-r-full);width:16px;height:16px;animation:.7s linear infinite nb-spin}@keyframes nb-spin{to{transform:rotate(360deg)}}.notebook-editor{background:var(--nb-bg-surface);border:1px solid var(--nb-border);border-radius:var(--nb-r-cell);width:100%;min-height:400px;box-shadow:var(--nb-shadow-sm);outline:none;padding:24px}.notebook-editor:focus-within{border-color:var(--nb-border-focus)}.cell-adder{opacity:.55;gap:8px;padding:8px 2px 4px;transition:opacity .15s;display:flex}.cell-adder:hover{opacity:1}.ProseMirror{color:var(--nb-text);outline:none;font-size:16px;line-height:1.65}.ProseMirror p{margin:0 0 10px}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3{color:var(--nb-text);letter-spacing:-.02em;margin:22px 0 10px;font-weight:650}.ProseMirror h1{font-size:26px}.ProseMirror h2{font-size:20px}.ProseMirror h3{font-size:17px}.ProseMirror blockquote{border-left:3px solid var(--nb-border);color:var(--nb-text-2);margin:10px 0;padding-left:14px}.ProseMirror hr{border:none;border-top:1px solid var(--nb-border-faint);height:0;margin:16px 0}.ProseMirror img.nb-image{max-width:100%;height:auto;margin:var(--space-lg) 0;border-radius:var(--nb-r-sm);display:block}.ProseMirror img.nb-image.ProseMirror-selectednode{outline:2px solid var(--nb-accent);outline-offset:2px}.pm-placeholder{position:relative}.pm-placeholder:before{content:"Start writing...";color:var(--nb-text-3);pointer-events:none;position:absolute}.ProseMirror code{border-radius:var(--nb-r-xs);color:var(--nb-code-color);background:#785a2814;border:1px solid #785a281f;padding:1px 6px;font-family:JetBrains Mono,SF Mono,Consolas,Liberation Mono,monospace;font-size:.85em}.ProseMirror div[data-type=markdown-cell]{border:1px solid var(--nb-border-faint);border-radius:var(--nb-r-cell);background:var(--nb-bg-surface);min-height:42px;margin:6px 0;padding:12px 16px;transition:border-color .15s,background .12s,box-shadow .15s;position:relative;box-shadow:0 1px 3px #3c280a0d}.ProseMirror div[data-type=markdown-cell]:hover{border-color:var(--nb-border)}.ProseMirror div[data-type=markdown-cell]:focus-within{border-color:var(--nb-border-focus);background:#fffefa}.markdown-cell__controls{opacity:0;pointer-events:none;background:var(--nb-bg-surface);border-radius:var(--nb-r-xs);align-items:center;gap:5px;padding:1px 4px;transition:opacity .15s;display:flex;position:absolute;bottom:7px;right:10px}[data-type=markdown-cell]:hover .markdown-cell__controls,[data-type=markdown-cell]:focus-within .markdown-cell__controls{opacity:1;pointer-events:auto}.md-cell-controls{align-items:center;gap:5px;display:flex}.md-cell-controls__time{color:var(--nb-text-3);white-space:nowrap;cursor:default;font-size:10px}.md-cell-controls__btn{color:var(--nb-text-3);cursor:pointer;border-radius:var(--nb-r-xs);background:0 0;border:none;align-items:center;padding:2px 4px;transition:color .1s,background .1s;display:flex}.md-cell-controls__btn:hover{color:var(--nb-text-2);background:var(--nb-bg-hover)}.ProseMirror-yjs-cursor{border-left:1px solid;border-right:1px solid;border-color:inherit;word-break:normal;pointer-events:none;margin-left:-1px;margin-right:-1px;position:relative}.ProseMirror-yjs-cursor>div{white-space:nowrap;color:#fff;border-radius:var(--nb-r-xs);-webkit-user-select:none;user-select:none;padding:1px 4px;font-size:11px;font-weight:500;line-height:normal;position:absolute;top:-1.4em;left:-1px}.ProseMirror a{color:#3b6fcc;cursor:pointer;-webkit-text-decoration:underline #3b6fcc73;text-decoration:underline #3b6fcc73}.ProseMirror a:hover{color:#2a52a0}.slash-menu{z-index:var(--z-modal);background:var(--nb-bg-surface);border:1px solid var(--nb-border);border-radius:var(--nb-r-cell);width:300px;max-height:340px;box-shadow:var(--nb-shadow-md);padding:6px 0;font-size:14px;overflow-y:auto}.slash-group{padding:4px 0}.slash-group+.slash-group{border-top:1px solid var(--nb-border-faint)}.slash-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--nb-text-3);padding:4px 12px;font-size:11px;font-weight:600}.slash-option{text-align:left;cursor:pointer;width:100%;font-family:inherit;font-size:inherit;color:var(--nb-text);background:0 0;border:none;align-items:center;gap:10px;padding:6px 12px;transition:background .1s;display:flex}.slash-option[data-selected=true],.slash-option:hover{background:var(--nb-bg-hover)}.slash-option-icon{border:1px solid var(--nb-border-faint);border-radius:var(--nb-r-xs);background:var(--nb-bg-page);width:28px;height:28px;color:var(--nb-text-2);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.slash-option-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.slash-option-label{color:var(--nb-text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.slash-option-desc{color:var(--nb-text-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.slash-option-shortcut{color:var(--nb-text-3);flex-shrink:0;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:11px}.slash-empty{text-align:center;color:var(--nb-text-3);padding:12px;font-size:13px}.ai-cell{margin:6px 0}.ai-cell__inner{border:1px solid var(--nb-ai-border);border-radius:var(--nb-r-cell);background:var(--aurora-bg,var(--nb-ai-bg));transition:border-color .15s,box-shadow .15s,background .5s;overflow:hidden;box-shadow:0 1px 4px #28644612}.ai-cell.ProseMirror-selectednode .ai-cell__inner{border-color:var(--nb-ai-border-focus);box-shadow:0 0 0 2px #7ec8a038}@property --b1x{syntax:"<percentage>";inherits:false;initial-value:15%}@property --b1y{syntax:"<percentage>";inherits:false;initial-value:25%}@property --b2x{syntax:"<percentage>";inherits:false;initial-value:78%}@property --b2y{syntax:"<percentage>";inherits:false;initial-value:62%}@property --b3x{syntax:"<percentage>";inherits:false;initial-value:50%}@property --b3y{syntax:"<percentage>";inherits:false;initial-value:50%}@property --b4x{syntax:"<percentage>";inherits:false;initial-value:85%}@property --b4y{syntax:"<percentage>";inherits:false;initial-value:18%}@property --aurora{syntax:"<percentage>";inherits:false;initial-value:0%}.ai-cell__inner,.ai-cell__modal{--aurora-bg:var(--nb-ai-bg);--aurora-c1:#4bbe8029;--aurora-c2:#32a0be1f;--aurora-c3:#82d2961a;--aurora-c4:#6e82d212;--aurora-shadow:#46af7824}.ai-cell__inner[data-emotion=excited],.ai-cell__modal[data-emotion=excited]{--aurora-bg:#fdf6e8;--aurora-c1:#f0a5282e;--aurora-c2:#dc5f371f;--aurora-c3:#ffd74b1c;--aurora-c4:#e6785a12;--aurora-shadow:#e1911e29}.ai-cell__inner[data-emotion=reflective],.ai-cell__modal[data-emotion=reflective]{--aurora-bg:#f2f0fb;--aurora-c1:#6458c829;--aurora-c2:#9b4bc31c;--aurora-c3:#3773d21a;--aurora-c4:#37a5b412;--aurora-shadow:#5a50be26}.ai-cell__inner[data-emotion=personal],.ai-cell__modal[data-emotion=personal]{--aurora-bg:#fdf0f3;--aurora-c1:#dc587629;--aurora-c2:#dc764b1c;--aurora-c3:#a55cc81a;--aurora-c4:#f09b7d12;--aurora-shadow:#cd4e6e26}.ai-cell__inner[data-emotion=technical],.ai-cell__modal[data-emotion=technical]{--aurora-bg:#eef8fb;--aurora-c1:#23b9d729;--aurora-c2:#3773d71f;--aurora-c3:#23be9e1a;--aurora-c4:#735fd712;--aurora-shadow:#1caacd24}.ai-cell .ai-cell__inner.is-streaming,.ai-cell__modal.is-streaming{background:radial-gradient(ellipse 55% 50% at var(--b1x) var(--b1y), var(--aurora-c1), transparent 70%), radial-gradient(ellipse 48% 55% at var(--b2x) var(--b2y), var(--aurora-c2), transparent 70%), radial-gradient(ellipse 45% 60% at var(--b3x) var(--b3y), var(--aurora-c3), transparent 70%), radial-gradient(ellipse 52% 45% at var(--b4x) var(--b4y), var(--aurora-c4), transparent 70%), var(--aurora-bg);box-shadow:0 0 18px -6px var(--aurora-shadow);animation:14s ease-in-out infinite ai-aurora-b1,11s ease-in-out infinite reverse ai-aurora-b2,17s ease-in-out 2s infinite ai-aurora-b3,9s ease-in-out 5s infinite ai-aurora-b4}.ai-cell .ai-cell__inner.is-finishing,.ai-cell__modal.is-finishing{background:radial-gradient(ellipse 130% 100% at calc(-30% + var(--aurora) * 1.6) 25%, var(--aurora-c1), transparent 75%), radial-gradient(ellipse 110% 100% at calc(-50% + var(--aurora) * 1.7) 65%, var(--aurora-c2), transparent 78%), radial-gradient(ellipse 120% 95% at calc(-25% + var(--aurora) * 1.5) 75%, var(--aurora-c3), transparent 78%), radial-gradient(ellipse 100% 90% at calc(-40% + var(--aurora) * 1.65) 35%, var(--aurora-c4), transparent 80%), var(--aurora-bg);box-shadow:0 0 18px -6px var(--aurora-shadow);animation:.9s cubic-bezier(.15,.55,.2,1) ai-aurora}.ai-cell .ai-cell__inner.is-minimized{background:var(--nb-ai-bg)!important;box-shadow:none!important;animation:none!important}@keyframes ai-aurora-b1{0%,to{--b1x:15%;--b1y:25%}33%{--b1x:55%;--b1y:42%}66%{--b1x:30%;--b1y:68%}}@keyframes ai-aurora-b2{0%,to{--b2x:78%;--b2y:62%}33%{--b2x:42%;--b2y:35%}66%{--b2x:82%;--b2y:48%}}@keyframes ai-aurora-b3{0%,to{--b3x:50%;--b3y:50%}50%{--b3x:22%;--b3y:28%}}@keyframes ai-aurora-b4{0%,to{--b4x:85%;--b4y:18%}40%{--b4x:62%;--b4y:58%}70%{--b4x:90%;--b4y:35%}}@keyframes ai-aurora{to{--aurora:100%}}.ai-cell__header{border-bottom:1px solid var(--nb-ai-border-header);align-items:center;gap:8px;padding:6px 10px;display:flex}.ai-cell__inner.is-minimized .ai-cell__header{border-bottom:none}.ai-cell__badge{color:var(--nb-ai-accent);letter-spacing:.02em;flex-shrink:0;font-size:12px;font-weight:600}.ai-cell__preview{color:var(--nb-ai-text-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-style:italic;overflow:hidden}.ai-cell__header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.ai-cell__icon-btn{color:var(--nb-ai-muted);cursor:pointer;border-radius:var(--nb-r-xs);background:0 0;border:none;padding:3px 6px;font-size:11px;line-height:1;transition:background .1s,color .1s}.ai-cell__icon-btn:hover{color:var(--nb-ai-accent);background:#2a7a501a}.ai-cell__delete:hover{color:var(--nb-danger);background:#c83c3c14}.ai-cell__del-label{color:var(--nb-danger);font-size:11px;font-weight:500}.ai-cell__delete--confirm{color:var(--nb-danger);cursor:pointer;border-radius:var(--nb-r-xs);background:0 0;border:none;padding:3px 6px;font-size:12px}.ai-cell__delete--confirm:hover{background:#c832321a}.ai-cell__cancel-btn{border:1px solid var(--nb-border);color:var(--nb-text-2);border-radius:var(--nb-r-sm);cursor:pointer;white-space:nowrap;background:0 0;padding:5px 10px;font-family:inherit;font-size:12px;transition:background .1s}.ai-cell__cancel-btn:hover{background:var(--nb-bg-hover)}.ai-cell__stop-btn{border:1px solid var(--nb-danger-light);color:var(--nb-danger-light);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;padding:4px 10px;font-size:12px}.ai-cell__stop-btn:hover{background:#f871711a}.ai-cell__turns{flex-direction:column;gap:12px;max-height:440px;padding:12px;display:flex;overflow-y:auto}.ai-cell__empty{color:var(--nb-ai-muted);font-size:13px;font-style:italic}.ai-turn{flex-direction:column;gap:4px;display:flex}.ai-turn--assistant{padding:4px 0}.ai-turn__bubble{background:var(--ai-user-bubble);border-radius:6px;padding:8px 10px}.ai-turn__meta{align-items:baseline;gap:6px;display:flex}.ai-turn__role{text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.ai-turn--user .ai-turn__role{color:var(--nb-text-3)}.ai-turn--assistant .ai-turn__role{color:var(--nb-ai-accent)}.ai-turn__time{color:var(--nb-text-3);font-size:10px}.ai-turn__usage-cost{font-variant-numeric:tabular-nums;color:#f5a623;font-size:10px}.ai-turn--assistant .ai-turn__actions{opacity:0;transition:opacity .15s}.ai-turn--assistant:hover .ai-turn__actions{opacity:1}.ai-cell__session-cost{font-variant-numeric:tabular-nums;color:var(--nb-text-3);font-size:11px}.ai-cell__header-right{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.ai-cell__config-btn{color:var(--nb-ai-accent);cursor:pointer;white-space:nowrap;background:#2a7a5012;border:1px solid #2a7a5040;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:500;transition:background .1s,border-color .1s}.ai-cell__config-btn:hover{background:#2a7a5021;border-color:#2a7a5066}.ai-cell__config-panel{z-index:var(--z-toast);border:1px solid var(--nb-border,#e5e5e5);background:#fff;border-radius:8px;min-width:210px;padding:8px;position:fixed;box-shadow:0 6px 20px #0000001f}.ai-cell__config-section{margin-bottom:4px}.ai-cell__config-section:last-child{margin-bottom:0}.ai-cell__config-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--nb-text-3);padding:2px 6px 4px;font-size:10px;display:block}.ai-cell__config-option{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:5px 8px;font-size:13px;display:flex}.ai-cell__config-option:hover{background:var(--nb-hover,#0000000a)}.ai-cell__config-option.is-active{color:var(--nb-ai-accent,#7c3aed);background:#8b5cf614}.ai-cell__config-desc{color:var(--nb-text-3);font-size:11px}.ai-cell__config-divider{background:var(--nb-border,#e5e5e5);height:1px;margin:6px 0}.ai-cell__config-key-row{align-items:center;gap:6px;padding:4px 8px;display:flex}.ai-cell__config-key-input{border:1px solid var(--nb-border,#e5e5e5);background:var(--nb-bg,#fff);min-width:0;color:inherit;border-radius:4px;outline:none;flex:1;padding:4px 7px;font-size:12px}.ai-cell__config-key-input:focus{border-color:var(--nb-accent,#6366f1)}.ai-cell__config-key-save,.ai-cell__config-key-clear{border:1px solid var(--nb-border,#e5e5e5);background:var(--nb-hover,#0000000a);cursor:pointer;color:inherit;border-radius:4px;flex-shrink:0;padding:3px 9px;font-size:12px}.ai-cell__config-key-save:disabled{opacity:.4;cursor:default}.ai-cell__config-key-save:not(:disabled):hover,.ai-cell__config-key-clear:hover{background:var(--nb-hover2,#00000014)}.ai-cell__config-key-saved{color:var(--nb-success,#16a34a);flex:1;font-weight:500}.ai-cell__config-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;align-items:center;gap:7px;padding:5px 8px;font-size:13px;display:flex}.ai-cell__config-toggle:hover{background:var(--nb-hover,#0000000a)}.ai-cell__config-toggle.is-disabled{opacity:.35;pointer-events:none}.ai-turn__thinking{background:#8b5cf60a;border:1px solid #8b5cf626;border-radius:6px;margin-bottom:8px}.ai-turn__thinking summary{color:var(--nb-text-3);cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px 10px;font-size:11px;list-style:none}.ai-turn__thinking summary::-webkit-details-marker{display:none}.ai-turn__thinking[open] summary{border-bottom:1px solid #8b5cf626}.ai-turn__thinking-content{color:var(--nb-text-2,#555);word-break:break-word;max-height:320px;padding:8px 10px;font-size:12px;line-height:1.55;overflow-y:auto}.ai-turn__thinking-content p{margin:0 0 4px}.ai-turn__thinking-content p:last-child{margin-bottom:0}.ai-turn__thinking-content ul,.ai-turn__thinking-content ol{margin:0 0 4px;padding-left:18px}.ai-turn__thinking-content li{margin-bottom:1px}.ai-turn__thinking-content li>p{margin:0}.ai-turn__thinking-content code{background:#8b5cf614;border-radius:3px;padding:1px 3px;font-family:monospace;font-size:11px}.ai-turn__thinking-content pre{background:#0000000a;border-radius:4px;margin:4px 0;padding:6px 8px;overflow-x:auto}.ai-turn__thinking-content pre code{background:0 0;padding:0}.ai-turn__thinking-content h1,.ai-turn__thinking-content h2,.ai-turn__thinking-content h3{margin:6px 0 2px;font-weight:600}.ai-turn__thinking-content strong{font-weight:600}.ai-turn__thinking-content blockquote{color:var(--nb-text-3);border-left:2px solid #8b5cf64d;margin:0 0 4px;padding-left:8px}.ai-turn__search{background:#2a7a500a;border:1px solid #2a7a502e;border-radius:6px;margin-bottom:8px}.ai-turn__search-summary{color:var(--nb-text-3);cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px 10px;font-size:11px;list-style:none}.ai-turn__search-summary::-webkit-details-marker{display:none}.ai-turn__search[open] .ai-turn__search-summary{border-bottom:1px solid #2a7a5026}.ai-turn__search-summary.is-active{animation:1.4s ease-in-out infinite ai-pulse}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.45}}.ai-cell__search-sources{flex-wrap:wrap;gap:4px;padding:8px 10px;display:flex}.ai-cell__search-source{color:var(--nb-text-3);border-radius:var(--nb-r-xs);background:#2a7a500f;border:1px solid #2a7a502e;align-items:center;gap:4px;max-width:220px;padding:2px 6px;font-size:11px;text-decoration:none;transition:background .1s,border-color .1s;display:flex}.ai-cell__search-source:hover{color:var(--nb-ai-accent);background:#2a7a501f;border-color:#2a7a5059}.ai-cell__search-source-num{color:var(--nb-ai-accent);opacity:.7;flex-shrink:0;font-weight:600}.ai-cell__search-source-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ai-turn__content{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6}.ai-turn--user .ai-turn__content{color:var(--nb-text)}.ai-turn--assistant .ai-turn__content{color:var(--nb-ai-text)}.ai-turn__cursor{color:var(--nb-ai-accent);animation:1s steps(2,end) infinite ai-blink}@keyframes ai-blink{50%{opacity:0}}.ai-turn--pending-replace{opacity:.45;position:relative}.ai-turn__replace-badge{color:#b07030;border-radius:var(--nb-r-xs);background:#b46e281a;border:1px solid #b46e2833;padding:1px 5px;font-size:10px;font-weight:500}.ai-turn__actions{gap:6px;margin-top:2px;display:flex}.ai-turn__action-btn{color:var(--nb-ai-muted);cursor:pointer;border-radius:var(--nb-r-xs);background:0 0;border:none;padding:2px 6px;font-family:inherit;font-size:11px;transition:background .1s,color .1s}.ai-turn__action-btn:hover{color:var(--nb-ai-accent);background:#2a7a5014}.ai-cell__error{color:var(--nb-danger);border-radius:var(--nb-r-xs);background:#c832320f;border:1px solid #c8323226;padding:6px 8px;font-size:12px}.ai-cell__input{border-top:1px solid var(--nb-ai-border-header);align-items:flex-end;gap:6px;padding:8px 10px;display:flex}.ai-cell__attachments{gap:var(--space-sm);padding:var(--space-md) var(--space-md) 0;flex-wrap:wrap;display:flex}.ai-cell__attachment{border-radius:var(--nb-r-sm);border:1px solid var(--nb-ai-border);width:56px;height:56px;position:relative;overflow:hidden}.ai-cell__attachment img{object-fit:cover;width:100%;height:100%;display:block}.ai-cell__attachment-del{text-align:center;border-radius:var(--nb-r-full);color:#fff;width:16px;height:16px;line-height:14px;font-size:var(--text-sm);cursor:pointer;background:#0009;border:none;padding:0;position:absolute;top:2px;right:2px}.ai-turn__images{gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.ai-turn__image{border-radius:var(--nb-r-sm);border:1px solid var(--nb-ai-border);max-width:220px;max-height:220px;display:block}.ai-cell__input textarea{border:1px solid var(--nb-ai-border);border-radius:var(--nb-r-sm);background:var(--nb-ai-bg-surface);color:var(--nb-text);resize:none;outline:none;flex:1;max-height:260px;padding:6px 10px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s;overflow-y:auto}.ai-cell__input textarea:focus{border-color:var(--nb-ai-border-focus)}.ai-cell__input textarea:disabled{color:var(--nb-text-3);background:#c8e6d74d}.ai-cell__send-btn{background:var(--nb-ai-accent);color:#fff;border-radius:var(--nb-r-sm);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.ai-cell__send-btn:hover:not(:disabled){background:var(--nb-ai-accent-hover)}.ai-cell__send-btn:disabled{background:var(--nb-ai-muted);cursor:not-allowed}.ai-cell__input button:not(.ai-cell__send-btn):not(.ai-cell__cancel-btn):not(.ai-cell__stop-btn){background:var(--nb-ai-accent);color:#fff;border-radius:var(--nb-r-sm);cursor:pointer;white-space:nowrap;border:none;height:32px;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s}.ai-cell__input button:not(.ai-cell__send-btn):not(.ai-cell__cancel-btn):not(.ai-cell__stop-btn):hover:not(:disabled){background:var(--nb-ai-accent-hover)}.ai-cell__input button:not(.ai-cell__send-btn):not(.ai-cell__cancel-btn):not(.ai-cell__stop-btn):disabled{background:var(--nb-ai-muted);cursor:not-allowed}.ai-turn__md{white-space:normal}.ai-turn__md p{margin:0 0 .6em;line-height:1.6}.ai-turn__md p:last-child{margin-bottom:0}.ai-turn__md h1,.ai-turn__md h2,.ai-turn__md h3{color:var(--nb-text);margin:.9em 0 .3em;font-weight:600;line-height:1.3}.ai-turn__md h1{font-size:1.15em}.ai-turn__md h2{font-size:1.05em}.ai-turn__md h3{font-size:.97em}.ai-turn__md ul,.ai-turn__md ol{margin:.4em 0 .6em 1.4em;padding:0}.ai-turn__md li{margin-bottom:.2em;line-height:1.5}.ai-turn__md code{color:var(--nb-code-color);background:#0000000f;border:1px solid #00000014;border-radius:3px;padding:1px 5px;font-family:Fira Code,Cascadia Code,monospace;font-size:.85em}.ai-turn__md pre{background:#0000000d;border:1px solid #00000014;border-radius:6px;margin:.6em 0;padding:10px 14px;overflow-x:auto}.ai-turn__md pre code{background:0 0;border:none;padding:0;font-size:.83em;line-height:1.55}.ai-turn__md blockquote{border-left:3px solid var(--nb-ai-accent);color:var(--nb-text-2);margin:.5em 0;padding:4px 12px}.ai-turn__md table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:13px}.ai-turn__md th,.ai-turn__md td{border:1px solid var(--nb-ai-border);text-align:left;padding:5px 10px}.ai-turn__md th{background:#0000000a;font-weight:600}.ai-turn__md hr{border:none;border-top:1px solid var(--nb-ai-border);margin:.8em 0}.ai-turn__md a{color:var(--nb-ai-accent);text-underline-offset:2px;text-decoration:underline}.ai-cell__modal-overlay{background:var(--nb-overlay);z-index:var(--z-modal);justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.ai-cell__modal{background:var(--nb-ai-bg);border:1px solid var(--nb-ai-border);border-radius:12px;flex-direction:column;width:100%;max-width:960px;max-height:85vh;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 24px 64px #0000002e}.ai-cell__modal-header{border-bottom:1px solid var(--nb-ai-border-header);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.ai-cell__modal-body{flex:1;padding:0;overflow-y:auto}.ai-cell__modal-body .ai-cell__turns{max-height:none}.ai-cell__modal .ai-cell__input{flex-shrink:0}.ai-cell__modal .ai-cell__input textarea{max-height:360px}.snap-overlay{z-index:var(--z-dropdown);background:#00000052;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.snap-modal{background:var(--nb-bg-surface);border:1px solid var(--nb-border);box-shadow:var(--nb-shadow-md);border-radius:10px;flex-direction:column;width:min(860px,92vw);height:min(580px,90vh);display:flex;overflow:hidden}.snap-modal__header{border-bottom:1px solid var(--nb-border-faint);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.snap-modal__title{color:var(--nb-text);font-size:15px;font-weight:600}.snap-modal__body{flex:1;display:flex;overflow:hidden}.snap-list{border-right:1px solid var(--nb-border-faint);flex-direction:column;flex-shrink:0;gap:2px;width:220px;padding:10px 8px;display:flex;overflow-y:auto}.snap-take-btn{margin-bottom:6px}.snap-empty{color:var(--nb-text-3);margin:4px;font-size:12px;line-height:1.55}.snap-item{border-radius:var(--nb-r-sm);cursor:pointer;align-items:center;gap:6px;padding:7px 8px;transition:background .1s;display:flex}.snap-item:hover{background:var(--nb-bg-hover)}.snap-item--selected{background:#2a7a5014}.snap-item--selected:hover{background:#2a7a5021}.snap-item__label{color:var(--nb-text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;line-height:1.4;overflow:hidden}.snap-item--selected .snap-item__label{color:var(--nb-ai-accent);font-weight:500}.snap-item__del{opacity:0;transition:opacity var(--dur-fast)}.snap-item:hover .snap-item__del{opacity:1}.snap-item__del:hover{color:var(--nb-danger);background:#c8323214}.snap-preview{background:var(--nb-bg-page);flex:1;padding:16px 20px;overflow-y:auto}.snap-preview__editor{cursor:default;min-height:100%}.snap-preview__editor.notebook-editor:focus-within{border-color:var(--nb-border-faint)}.snap-preview__empty{height:100%;color:var(--nb-text-3);justify-content:center;align-items:center;font-size:13px;display:flex}.snap-modal__footer{border-top:1px solid var(--nb-border-faint);flex-shrink:0;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.sidebar{background:var(--nb-bg-page);border-right:1px solid var(--nb-border-faint);flex-direction:column;flex-shrink:0;width:220px;min-width:150px;max-width:500px;display:flex;position:relative;overflow:hidden}.sidebar-resize-handle{cursor:col-resize;width:4px;z-index:var(--z-sticky);background:0 0;flex-shrink:0;transition:background .15s}.sidebar-resize-handle:hover,.sidebar-resize-handle--dragging{background:var(--nb-border-focus)}.sidebar__brand{border-bottom:1px solid var(--nb-border-faint);flex-shrink:0;align-items:center;gap:8px;padding:14px 14px 12px;display:flex}.sidebar__brand-icon{color:var(--nb-accent);flex-shrink:0;font-size:16px;line-height:1}.sidebar__brand-name{color:var(--nb-text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:600;overflow:hidden}.sidebar__new-doc{flex-shrink:0;padding:8px 8px 4px}.sidebar__header{border-bottom:1px solid var(--nb-border-faint);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.sidebar__title{text-transform:uppercase;letter-spacing:.06em;color:var(--nb-text-3);font-size:11px;font-weight:600}.sidebar__peers{gap:4px;display:flex}.sidebar__peer-avatar{border-radius:var(--nb-r-full);color:#fff;cursor:default;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:flex}.sidebar__list{flex-direction:column;flex:1;gap:1px;padding:6px 8px;display:flex;overflow-y:auto}.sidebar__item{border-radius:var(--nb-r-sm);cursor:pointer;align-items:center;gap:4px;min-width:0;padding:7px 10px;transition:background .1s;display:flex}.sidebar__item:hover{background:var(--nb-bg-hover)}.sidebar__item--active{background:var(--nb-accent-light)}.sidebar__item--active:hover{background:var(--nb-accent-light);filter:brightness(.97)}.sidebar__item-name{color:var(--nb-text-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;overflow:hidden}.sidebar__item--active .sidebar__item-name{color:var(--nb-accent);font-weight:500}.sidebar__item-actions{opacity:0;flex-shrink:0;align-items:center;gap:1px;transition:opacity .12s;display:flex}.sidebar__item:hover .sidebar__item-actions,.sidebar__item--active:hover .sidebar__item-actions{opacity:1}.sidebar__item--confirming{background:#c832320d}.sidebar__item-name--muted{color:var(--nb-text-3);font-size:12px;font-style:italic}.sidebar__del-confirm{flex-shrink:0;align-items:center;gap:4px;display:flex}.sidebar__undo-bar{background:var(--nb-accent-light);border-radius:var(--nb-r-sm);border:1px solid var(--nb-border);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:6px 10px;display:flex}.sidebar__undo-label{color:var(--nb-text-2);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.sidebar__rename-input{border:1px solid var(--nb-border-focus);border-radius:var(--nb-r-xs);background:var(--nb-bg-surface);color:var(--nb-text);outline:none;flex:1;min-width:0;padding:2px 6px;font-family:inherit;font-size:13.5px}.sidebar__footer{border-top:1px solid var(--nb-border-faint);flex-shrink:0;padding:8px}.sidebar__user-wrap{position:relative}.sidebar__user-bar{border-radius:var(--nb-r-sm);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;transition:background .12s;display:flex}.sidebar__user-bar:hover{background:var(--nb-bg-hover)}.sidebar__user-avatar{border-radius:var(--nb-r-full);background:var(--nb-accent);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.sidebar__user-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.sidebar__user-name{color:var(--nb-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.sidebar__user-menu{background:var(--nb-bg-surface);border:1px solid var(--nb-border);border-radius:var(--nb-r-lg);box-shadow:var(--nb-shadow-lg);z-index:var(--z-dropdown);position:absolute;bottom:calc(100% + 6px);left:0;right:0;overflow:hidden}.sidebar__user-menu-section{padding:10px 12px}.sidebar__user-menu-label{text-transform:uppercase;letter-spacing:.06em;color:var(--nb-text-3);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.sidebar__user-menu-langs{flex-direction:column;gap:2px;display:flex}.sidebar__lang-btn{border-radius:var(--nb-r-sm);cursor:pointer;text-align:left;width:100%;color:var(--nb-text-2);background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s;display:block}.sidebar__lang-btn:hover{background:var(--nb-bg-hover)}.sidebar__lang-btn.is-active{background:var(--nb-accent-light);color:var(--nb-accent);font-weight:500}.sidebar__user-menu-divider{background:var(--nb-border-faint);height:1px;margin:0 12px}.sidebar__key-row{align-items:center;gap:6px;padding:2px 0 4px;display:flex}.sidebar__key-input{border:1px solid var(--nb-border);border-radius:var(--nb-r-sm);background:var(--nb-bg-page);min-width:0;color:inherit;outline:none;flex:1;padding:5px 8px;font-size:12px}.sidebar__key-input:focus{border-color:var(--nb-border-focus)}.sidebar__key-action{border-radius:var(--nb-r-sm);border:1px solid var(--nb-border);background:var(--nb-bg-hover);cursor:pointer;color:inherit;white-space:nowrap;flex-shrink:0;padding:4px 10px;font-size:12px}.sidebar__key-action:disabled{opacity:.4;cursor:default}.sidebar__key-action:not(:disabled):hover{background:var(--nb-border-faint)}.sidebar__key-saved{color:var(--nb-ai-accent);flex:1;font-size:12px;font-weight:500}.sidebar__key-hint{color:var(--nb-text-3);padding:0 0 4px;font-size:11px;display:block}.sidebar__group{margin-bottom:4px}.sidebar__group-label{text-transform:uppercase;letter-spacing:.07em;color:var(--nb-text-3);cursor:default;-webkit-user-select:none;user-select:none;padding:8px 10px 3px;font-size:10.5px;font-weight:600}.sidebar__memory-header{align-items:center;gap:6px;display:flex}.sidebar__memory-badge{background:var(--nb-accent);color:#fff;border-radius:var(--radius-full);padding:1px 6px;font-size:10px;font-weight:600;line-height:16px}.sidebar__memory-log{flex-direction:column;gap:4px;margin-top:6px;display:flex}.sidebar__memory-entry{border-radius:var(--radius-md);background:var(--nb-surface-2,#ffffff0a);align-items:flex-start;gap:6px;padding:4px 8px;display:flex}.sidebar__memory-entry-text{color:var(--nb-text-2);white-space:pre-wrap;word-break:break-word;flex:1;font-size:11px;line-height:1.4}.sidebar__memory-entry-del{color:var(--nb-text-3);cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.sidebar__memory-entry-del:hover{opacity:1;color:var(--nb-danger)}.floating-toolbar{z-index:var(--z-overlay);pointer-events:all;background:#1c1c1e;border:1px solid #ffffff1a;border-radius:7px;align-items:center;gap:2px;padding:4px 6px;animation:.1s ftb-in;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 6px 20px #00000059}@keyframes ftb-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 6px))}to{opacity:1;transform:translate(-50%,calc(-100% - 10px))}}.ftb__btn{color:#d0d0d0;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-family:inherit;font-size:13px;line-height:1;transition:background .1s,color .1s}.ftb__btn:hover{color:#fff;background:#ffffff1f}.ftb__btn--on{color:#fff;background:#fff3}.ftb__btn code{color:var(--nb-code-color);font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:11px}.ftb__sep{background:#ffffff26;flex-shrink:0;width:1px;height:16px;margin:0 2px}.ftb__link-row{align-items:center;gap:4px;display:flex}.ftb__link-input{color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:4px;outline:none;width:210px;padding:3px 8px;font-family:inherit;font-size:12px}.ftb__link-input::placeholder{color:#ffffff59}.ftb__link-input:focus{border-color:#ffffff80}.ftb__ico{font-weight:700;line-height:1;display:inline-block}.ftb-flyout{z-index:var(--z-base);background:#1c1c1e;border:1px solid #ffffff1a;border-radius:7px;margin-top:6px;padding:6px;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000059}.ftb-flyout--colors{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.ftb-swatch{cursor:pointer;color:#d0d0d0;background:0 0;border:1px solid #fff3;border-radius:5px;width:20px;height:20px;padding:0;font-size:13px;line-height:1;transition:transform 80ms,box-shadow 80ms}.ftb-swatch:hover{transform:scale(1.12)}.ftb-swatch--clear{background:#ffffff0f;justify-content:center;align-items:center;display:flex}.ftb-swatch--on{box-shadow:0 0 0 2px #fff}.ftb-flyout--sizes{gap:4px;display:flex}.ftb-size{color:#d0d0d0;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:4px;min-width:28px;padding:4px 6px;font-family:inherit;font-size:12px;line-height:1}.ftb-size:hover{color:#fff;background:#ffffff1f}.ftb-size--on{color:#fff;background:#fff3}.weekly-cell-wrapper{margin:4px 0}.weekly-cell{background:var(--nb-weekly-bg);border:1px solid var(--nb-weekly-border);border-radius:var(--nb-r-cell);padding:12px 14px;overflow-x:auto}.weekly-cell:focus-within{border-color:var(--nb-weekly-accent);box-shadow:0 0 0 2px #5046a614}.weekly-cell__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.weekly-cell__weeknav{align-items:center;gap:2px;display:flex;position:relative}.weekly-cell__title{color:var(--nb-weekly-accent);letter-spacing:.01em;cursor:pointer;border-radius:var(--nb-r-xs);background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:13px;font-weight:600}.weekly-cell__title:hover{background:var(--nb-weekly-today-bg,#0000000d)}.weekly-cell__weekbtn{color:var(--nb-weekly-accent);cursor:pointer;border-radius:var(--nb-r-xs);opacity:.6;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.weekly-cell__weekbtn:hover{opacity:1;background:var(--nb-weekly-today-bg,#0000000d)}.weekly-cell__dateedit{color:var(--nb-weekly-accent);background:var(--nb-bg,#fff);border:1px solid var(--nb-weekly-accent);border-radius:var(--nb-r-xs);padding:1px 4px;font-family:inherit;font-size:13px;font-weight:600}.weekly-cell__delete{color:var(--nb-text-3);cursor:pointer;border-radius:var(--nb-r-xs);opacity:0;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1;transition:opacity .15s,color .1s}.weekly-cell:hover .weekly-cell__delete{opacity:1}.weekly-cell__delete:hover{color:var(--nb-danger)}.weekly-cell__grid{grid-template-columns:repeat(7,minmax(110px,1fr));gap:6px;display:grid;overflow-x:auto}.weekly-day{background:var(--nb-bg-surface);border:1px solid var(--nb-border-faint);border-radius:var(--nb-r-sm);flex-direction:column;min-height:80px;padding:8px;display:flex}.weekly-day--today{background:var(--nb-weekly-today-bg);border-color:var(--nb-weekly-today-accent);box-shadow:inset 3px 0 0 var(--nb-weekly-today-accent)}.weekly-day__header{color:var(--nb-text-3);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:10px;font-weight:700;display:flex}.weekly-day--today .weekly-day__header{color:var(--nb-weekly-today-accent)}.weekly-day__todos{flex-direction:column;flex:1;gap:2px;margin-bottom:6px;display:flex}.weekly-todo{align-items:flex-start;gap:5px;display:flex;position:relative}.weekly-todo__check{cursor:pointer;width:13px;height:13px;accent-color:var(--nb-weekly-accent);flex-shrink:0;margin-top:2px}.weekly-todo__text{color:var(--nb-text);word-break:break-word;-webkit-user-select:text;user-select:text;flex:1;font-size:12px;line-height:1.5}.weekly-todo__text--done{color:var(--nb-text-3);text-decoration:line-through}.weekly-todo__text a{color:#3b6fcc;-webkit-text-decoration:underline #3b6fcc73;text-decoration:underline #3b6fcc73}.weekly-todo__del{opacity:0;color:var(--nb-text-3);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px;line-height:1;transition:opacity .1s,color .1s}.weekly-todo:hover .weekly-todo__del{opacity:1}.weekly-todo__del:hover{color:var(--nb-danger)}.weekly-day__input{border:none;border-top:1px solid var(--nb-border-faint);color:var(--nb-text);background:0 0;outline:none;flex-shrink:0;width:100%;margin-top:auto;padding:5px 0 0;font-family:inherit;font-size:12px}.weekly-day__input::placeholder{color:var(--nb-text-3)}.weekly-day__input:focus{border-top-color:var(--nb-weekly-border)}.weekly-cell-wrapper.ProseMirror-selectednode .weekly-cell{outline:2px solid var(--nb-weekly-accent);outline-offset:1px}.mood-picker{flex-shrink:0;position:relative}.mood-picker__icon{cursor:pointer;color:var(--nb-text-3);opacity:0;background:0 0;border:none;border-radius:3px;padding:1px 2px;font-family:inherit;font-size:11px;line-height:1;transition:opacity .15s}.weekly-day:hover .mood-picker__icon,.mood-picker__icon--set{opacity:1}.mood-picker__icon:hover{background:var(--nb-weekly-today-bg,#0000000d)}.mood-picker__popover{background:var(--nb-bg-surface);border:1px solid var(--nb-border-faint);border-radius:var(--nb-r-sm);z-index:9999;flex-direction:column;gap:6px;min-width:158px;padding:8px;display:flex;position:fixed;box-shadow:0 4px 16px #0000001f}.mood-picker__emojis{justify-content:space-between;gap:2px;display:flex}.mood-picker__emoji-btn{border-radius:var(--nb-r-xs);cursor:pointer;background:0 0;border:1px solid #0000;padding:3px 4px;font-size:18px;line-height:1;transition:background .1s,border-color .1s}.mood-picker__emoji-btn:hover{background:var(--nb-weekly-today-bg,#0000000d)}.mood-picker__emoji-btn--active{border-color:var(--nb-weekly-accent);background:var(--nb-weekly-today-bg,#0000000d)}.mood-picker__note{border:none;border-top:1px solid var(--nb-border-faint);color:var(--nb-text);background:0 0;outline:none;width:100%;padding:5px 0 0;font-family:inherit;font-size:11px}.mood-picker__note::placeholder{color:var(--nb-text-3)}.bg-picker__trigger{padding:4px 8px;font-size:15px}.bg-picker__trigger--active{background:var(--nb-accent-light);border-color:var(--nb-border-focus)}.bg-picker__panel{z-index:var(--z-modal);background:var(--nb-bg-surface);border:1px solid var(--nb-border);border-radius:var(--nb-r-md);width:260px;box-shadow:var(--nb-shadow-lg);flex-direction:column;gap:8px;padding:10px;display:flex;position:fixed}.bg-picker__preview{border-radius:var(--nb-r-sm);border:1px solid var(--nb-border-faint);background-position:50%;background-size:cover;width:100%;height:100px}.bg-picker__section{flex-direction:column;gap:4px;display:flex}.bg-picker__url-row{gap:6px;display:flex}.bg-picker__url-input{border:1px solid var(--nb-border);border-radius:var(--nb-r-sm);background:var(--nb-bg-page);color:var(--nb-text);outline:none;flex:1;min-width:0;padding:5px 8px;font-family:inherit;font-size:12px}.bg-picker__url-input::placeholder{color:var(--nb-text-3)}.bg-picker__url-input:focus{border-color:var(--nb-border-focus)}.login-page{background:var(--nb-bg-page);min-height:100vh;padding:var(--space-xl);justify-content:center;align-items:center;display:flex}.login-card{background:var(--nb-bg-surface);border:1px solid var(--nb-border-faint);border-radius:var(--nb-r-lg);width:100%;max-width:380px;padding:var(--space-3xl) var(--space-2xl);box-shadow:var(--nb-shadow-md);gap:var(--space-lg);flex-direction:column;display:flex}.login-brand{text-align:center;margin-bottom:var(--space-sm)}.login-brand-icon{color:var(--nb-accent);margin-bottom:var(--space-sm);font-size:28px;display:block}.login-brand-name{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--nb-text);margin:0 0 var(--space-xs)}.login-brand-sub{font-size:var(--text-sm);color:var(--nb-text-3);margin:0}.login-google-btn{justify-content:center;align-items:center;gap:var(--space-md);width:100%;padding:10px var(--space-lg);border-radius:var(--nb-r-md);border:1px solid var(--nb-border);background:var(--nb-bg-surface);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--nb-text);cursor:pointer;transition:background var(--dur-fast) var(--ease);display:flex}.login-google-btn:hover{background:var(--nb-bg-hover)}.login-divider{align-items:center;gap:var(--space-md);color:var(--nb-text-3);font-size:var(--text-sm);display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--nb-border-faint);flex:1;height:1px}.login-tabs{border:1px solid var(--nb-border-faint);border-radius:var(--nb-r-sm);display:flex;overflow:hidden}.login-tab{font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;color:var(--nb-text-3);transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:none;flex:1;padding:7px}.login-tab.is-active{background:var(--nb-accent-light);color:var(--nb-accent)}.login-form{gap:var(--space-md);flex-direction:column;display:flex}.login-input{border:1px solid var(--nb-border);border-radius:var(--nb-r-md);background:var(--nb-bg-page);width:100%;color:var(--nb-text);font-size:var(--text-base);box-sizing:border-box;transition:border-color var(--dur-fast);outline:none;padding:9px 12px;font-family:inherit}.login-input:focus{border-color:var(--nb-border-focus)}.login-error{font-size:var(--text-sm);color:var(--nb-danger);margin:0}.login-submit-btn{border-radius:var(--nb-r-md);background:var(--nb-accent);width:100%;color:var(--nb-white);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--dur-fast);border:none;padding:10px}.login-submit-btn:hover:not(:disabled){background:var(--nb-accent-hover)}.login-submit-btn:disabled{opacity:.6;cursor:default}.login-notice{text-align:center;color:var(--nb-text-2);font-size:var(--text-sm);padding:var(--space-sm) 0}.login-guest-section{gap:var(--space-sm);flex-direction:column;display:flex}.login-guest-btn{width:100%;padding:10px var(--space-lg);border-radius:var(--nb-r-md);border:1px solid var(--nb-border);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--nb-text-2);cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);background:0 0}.login-guest-btn:hover{background:var(--nb-bg-hover);border-color:var(--nb-border-focus);color:var(--nb-text)}.login-guest-note{text-align:center;font-size:var(--text-xs);color:var(--nb-text-3);margin:0}.auth-loading{background:var(--nb-bg-page);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-loading__spinner{border:3px solid var(--nb-border);border-top-color:var(--nb-accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.guest-banner{justify-content:center;align-items:center;gap:var(--space-lg);padding:7px var(--space-xl);background:var(--nb-accent-light);border-bottom:1px solid var(--nb-border);font-size:var(--text-sm);flex-shrink:0;display:flex}.guest-banner__text{color:var(--nb-text-2)}.guest-banner__btn{border-radius:var(--nb-r-full);border:1px solid var(--nb-accent);color:var(--nb-accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--dur-fast);background:0 0;padding:3px 12px}.guest-banner__btn:hover{background:var(--nb-accent);color:var(--nb-white)}
