@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@400;500;600;700&display=swap");:root{--font-serif:"Crimson Pro","Georgia","Times New Roman",serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--font-mono:"Courier New","Courier",monospace;--text-xs:0.64rem;--text-sm:0.8rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-4xl:3.052rem;--text-5xl:3.815rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:1.75;--tracking-tighter:-0.02em;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.01em;--tracking-wider:0.03em;--tracking-widest:0.08em;--color-cream:#FAF8F3;--color-parchment:#FEFCF9;--color-warm-50:#F5F3EE;--color-warm-100:#EBE7DD;--color-warm-200:#DDD7C8;--color-warm-300:#C7BFAD;--color-warm-400:#A69B87;--color-warm-500:#8B7F6A;--color-warm-600:#6F6555;--color-warm-700:#544D40;--color-warm-800:#3A352C;--color-warm-900:#231F19;--color-sage:#7A9080;--color-sage-dark:#4A5C4E;--color-terracotta:#B67B6F;--color-terracotta-dark:#8B4049;--color-slate:#6B7C92;--color-slate-dark:#3B4252;--color-gold:#B8956A;--color-gold-dark:#9A7952;--color-success:var(--color-sage);--color-success-dark:var(--color-sage-dark);--color-warning:var(--color-terracotta);--color-warning-dark:var(--color-terracotta-dark);--color-info:var(--color-slate);--color-info-dark:var(--color-slate-dark);--color-highlight:var(--color-gold);--color-highlight-dark:var(--color-gold-dark);--surface-base:var(--color-cream);--surface-elevated:var(--color-parchment);--surface-overlay:var(--color-warm-50);--text-primary:var(--color-warm-900);--text-secondary:var(--color-warm-700);--text-tertiary:var(--color-warm-600);--text-muted:var(--color-warm-500);--text-disabled:var(--color-warm-400);--border-subtle:var(--color-warm-100);--border-default:var(--color-warm-200);--border-strong:var(--color-warm-300);--border-emphasis:var(--color-warm-400);--spacing-base:8px;--space-0:0;--space-1:calc(var(--spacing-base) * 0.5);--space-2:var(--spacing-base);--space-3:calc(var(--spacing-base) * 1.5);--space-4:calc(var(--spacing-base) * 2);--space-5:calc(var(--spacing-base) * 2.5);--space-6:calc(var(--spacing-base) * 3);--space-8:calc(var(--spacing-base) * 4);--space-10:calc(var(--spacing-base) * 5);--space-12:calc(var(--spacing-base) * 6);--space-16:calc(var(--spacing-base) * 8);--space-20:calc(var(--spacing-base) * 10);--space-24:calc(var(--spacing-base) * 12);--space-32:calc(var(--spacing-base) * 16);--shadow-xs:0 1px 2px rgba(35,31,25,0.03);--shadow-sm:0 1px 3px rgba(35,31,25,0.04),0 1px 2px rgba(35,31,25,0.03);--shadow-md:0 4px 6px rgba(35,31,25,0.05),0 2px 4px rgba(35,31,25,0.04);--shadow-lg:0 10px 15px rgba(35,31,25,0.06),0 4px 6px rgba(35,31,25,0.04);--shadow-xl:0 20px 25px rgba(35,31,25,0.07),0 8px 10px rgba(35,31,25,0.04);--shadow-2xl:0 25px 50px rgba(35,31,25,0.10);--shadow-paper:0 2px 8px rgba(35,31,25,0.08),0 1px 3px rgba(35,31,25,0.06);--shadow-inset:inset 0 2px 4px rgba(35,31,25,0.06);--radius-none:0;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--texture-paper:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(35,31,25,0.005) 0,rgba(35,31,25,0.005) 4px);--texture-crosshatch:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(35,31,25,0.008) 0,rgba(35,31,25,0.008) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(35,31,25,0.008) 0,rgba(35,31,25,0.008) 4px);--texture-linen:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(35,31,25,0.003) 0,rgba(35,31,25,0.003) 4px),repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(35,31,25,0.003) 0,rgba(35,31,25,0.003) 4px);--duration-instant:0ms;--duration-fast:150ms;--duration-normal:250ms;--duration-slow:350ms;--duration-slower:500ms;--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--transition-colors:color var(--duration-normal) var(--ease-default),background-color var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default);--transition-transform:transform var(--duration-normal) var(--ease-default);--transition-opacity:opacity var(--duration-normal) var(--ease-default);--transition-all:all var(--duration-normal) var(--ease-default)}.ds-card{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-paper);transition:var(--transition-all);position:relative;overflow:hidden}.ds-card:before{content:"";position:absolute;inset:0;background-image:var(--texture-paper);pointer-events:none;opacity:.8;z-index:0}.ds-card-content{position:relative;z-index:1;padding:var(--space-6)}.ds-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-2px)}.ds-card-interactive{cursor:pointer}.ds-card-elevated{box-shadow:var(--shadow-md)}.ds-card-elevated:hover{box-shadow:var(--shadow-xl)}.ds-button{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-normal);letter-spacing:var(--tracking-wide);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:var(--transition-all);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);user-select:none;white-space:nowrap}.ds-button:disabled{opacity:.5;cursor:not-allowed}.ds-button-primary{background:var(--text-primary);color:var(--surface-elevated);border-color:var(--text-primary)}.ds-button-primary:hover:not(:disabled){background:var(--text-secondary);border-color:var(--text-secondary)}.ds-button-secondary{background:transparent;color:var(--text-secondary);border-color:var(--border-strong)}.ds-button-secondary:hover:not(:disabled){background:var(--surface-overlay);border-color:var(--border-emphasis);color:var(--text-primary)}.ds-button-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.ds-button-ghost:hover:not(:disabled){background:var(--surface-overlay);color:var(--text-primary)}.ds-button-success{background:var(--color-success);color:var(--surface-elevated);border-color:var(--color-success)}.ds-button-success:hover:not(:disabled){background:var(--color-success-dark);border-color:var(--color-success-dark)}.ds-button-small{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.ds-button-large{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.ds-input{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:var(--transition-all);width:100%}.ds-input::placeholder{color:var(--text-muted)}.ds-input:focus{outline:none;border-color:var(--text-primary);box-shadow:0 0 0 3px rgba(35,31,25,.1)}.ds-input:disabled{background:var(--surface-overlay);color:var(--text-disabled);cursor:not-allowed}.ds-input-error{border-color:var(--color-warning)}.ds-input-error:focus{border-color:var(--color-warning-dark);box-shadow:0 0 0 3px rgba(182,123,111,.2)}.ds-textarea{resize:vertical;min-height:120px}.ds-badge,.ds-textarea{font-family:var(--font-sans)}.ds-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:var(--tracking-wider);line-height:var(--leading-tight);text-transform:uppercase;border:1px solid;white-space:nowrap}.ds-badge-default{background:var(--surface-overlay);color:var(--text-secondary);border-color:var(--border-default)}.ds-badge-primary{background:var(--text-primary);color:var(--surface-elevated);border-color:var(--text-primary)}.ds-badge-success{background:var(--color-success);color:var(--surface-elevated);border-color:var(--color-success)}.ds-badge-warning{background:var(--color-warning);color:var(--surface-elevated);border-color:var(--color-warning)}.ds-badge-info{background:var(--color-info);color:var(--surface-elevated);border-color:var(--color-info)}.ds-badge-outline{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.ds-heading-1{font-size:var(--text-4xl);letter-spacing:var(--tracking-tighter)}.ds-heading-1,.ds-heading-2{font-family:var(--font-serif);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}.ds-heading-2{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight)}.ds-heading-3{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.ds-heading-3,.ds-heading-4{font-family:var(--font-serif);font-weight:var(--font-semibold);line-height:var(--leading-snug);color:var(--text-primary)}.ds-heading-4{font-size:var(--text-xl)}.ds-heading-5{font-size:var(--text-lg)}.ds-heading-5,.ds-heading-6{font-family:var(--font-serif);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--text-primary)}.ds-heading-6{font-size:var(--text-md)}.ds-body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-relaxed);color:var(--text-primary)}.ds-body-small{font-size:var(--text-sm);color:var(--text-secondary)}.ds-body-small,.ds-caption{font-family:var(--font-sans);font-weight:var(--font-normal);line-height:var(--leading-normal)}.ds-caption{font-size:var(--text-xs);color:var(--text-tertiary)}.ds-code{font-family:var(--font-mono);font-size:.875em;background:var(--surface-overlay);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.ds-label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-secondary)}.ds-container{max-width:1280px;margin:0 auto;padding:0 var(--space-6)}.ds-section{padding:var(--space-20) 0}.ds-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-default) 20%,var(--border-default) 80%,transparent);border:none}.ds-skeleton{background:linear-gradient(90deg,var(--color-warm-100) 0,var(--color-warm-200) 50%,var(--color-warm-100) 100%);background-size:200% 100%;animation:ds-shimmer 2s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes ds-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes refined-progress{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes refined-progress-shimmer{0%{transform:translateX(0)}to{transform:translateX(300%)}}@media (prefers-reduced-motion:reduce){@keyframes refined-progress{0%,to{transform:translateX(0);opacity:1}50%{opacity:.5}}@keyframes refined-progress-shimmer{0%,to{transform:translateX(0)}}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes scan{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}.animate-scan{animation:scan 2s ease-in-out infinite}.animate-shimmer{animation:shimmer 2s infinite}@keyframes slideInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shrink{0%{width:100%}to{width:0}}@keyframes fadeInInstant{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.thinking-step{animation:fadeInInstant .2s cubic-bezier(.16,1,.3,1)}@keyframes typewriterReveal{0%{max-height:0;opacity:0;transform:translateY(-4px)}to{max-height:800px;opacity:1;transform:translateY(0)}}.thinking-typewriter{overflow:hidden;animation:typewriterReveal .3s cubic-bezier(.16,1,.3,1)}@keyframes composingPulse{0%,to{opacity:.4}50%{opacity:.8}}.composing-icon,.composing-text{animation:composingPulse 1.5s ease-in-out infinite}.composing-dot{display:inline-block;animation:dotBlink 1.4s ease-in-out infinite;opacity:0}@keyframes dotBlink{0%,20%{opacity:0}40%{opacity:1}60%,to{opacity:0}}.mention-scrollbar::-webkit-scrollbar{width:8px}.mention-scrollbar::-webkit-scrollbar-track{background:#F5F3EE;border-radius:4px}.mention-scrollbar::-webkit-scrollbar-thumb{background:#DDD7C8;border-radius:4px;transition:background .2s}.mention-scrollbar::-webkit-scrollbar-thumb:hover{background:#C7BFAD}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:rgba(15,23,42,.3)}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(71,85,105,.5);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(71,85,105,.7)}.diff-added{background:hsl(140 30% 92%);color:hsl(140 30% 25%);text-decoration:underline;text-decoration-color:hsl(140 40% 50%);text-decoration-thickness:2px}.diff-added,.diff-removed{padding:0 2px;border-radius:2px}.diff-removed{background:hsl(0 40% 92%);color:hsl(0 30% 35%);text-decoration:line-through;text-decoration-color:hsl(0 40% 50%);text-decoration-thickness:2px;opacity:.7}.diff-content{white-space:pre-wrap;word-wrap:break-word;line-height:1.7}.section-highlight{animation:sectionHighlight 2s ease-out}@keyframes sectionHighlight{0%{background:hsl(140 30% 92%)}to{background:transparent}}.notion-editor-content .tiptap p.is-editor-empty:first-child:before{color:#A8A29E;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.notion-editor-content .tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5rem}.notion-editor-content .tiptap ul[data-type=taskList] li>label{flex-shrink:0;margin-top:.25rem}.notion-editor-content .tiptap ul[data-type=taskList] li>label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:#F59E0B}.notion-editor-content .tiptap ul[data-type=taskList] li>div{flex:1}.notion-editor-content .tiptap pre:before{content:attr(data-language);position:absolute;top:.5rem;right:.5rem;padding:.125rem .5rem;background:rgba(255,255,255,.1);border-radius:.25rem;font-size:.75rem;text-transform:uppercase;color:rgba(255,255,255,.6)}.notion-editor-content .tiptap pre{position:relative}.notion-editor-content .tiptap ::selection{background-color:rgba(251,191,36,.3)}.notion-editor-content .tiptap table tr:hover{background-color:rgba(245,158,11,.05)}.notion-editor-content .tiptap *{transition:background-color .15s ease}.ds-focus-visible:focus-visible,:focus-visible{outline:2px solid var(--text-primary);outline-offset:2px}.ds-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:640px){.ds-container{padding:0 var(--space-4)}.ds-section{padding:var(--space-12) 0}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}