:root{--bg-primary:#fff;--bg-secondary:#f6f5f1;--bg-tertiary:#efece4;--text-primary:#1a1a1a;--text-secondary:#6b6b6b;--text-tertiary:#9a9a9a;--border-tertiary:#e7e5df;--border-secondary:#d1cfc7;--border-primary:#1a1a1a;--accent-green:#1d9e75;--accent-green-bg:#e1f5ee;--accent-green-text:#085041;--accent-amber-bg:#faeeda;--accent-amber-text:#633806;--accent-purple:#7f77dd;--accent-purple-bg:#eeedfe;--accent-purple-text:#3c3489;--accent-blue-bg:#dce4f3;--accent-blue-text:#1e3a5f;--danger:#b91c1c;--danger-bg:#fef2f2;--danger-border:#f4c4c4;--profit:#1d9e75;--loss:#b91c1c;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-pill:20px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:22px;--font-size-3xl:28px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 2px 8px #0000000f;--max-content-width:1200px;--header-height:56px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--text-primary);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--accent-green)}h1,h2,h3,h4{font-weight:var(--font-weight-medium);letter-spacing:-.01em;margin:0}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}p{margin:0}img{max-width:100%;display:block}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);border:.5px solid var(--border-secondary);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;padding:8px 14px;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--bg-secondary);border-color:var(--border-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-green);color:#fff;border-color:var(--accent-green)}.btn-primary:hover{color:#fff;background:#178263;border-color:#178263}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.btn-danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-sm{font-size:var(--font-size-sm);padding:4px 10px}.btn-ghost{color:var(--text-secondary);background:0 0;border:none;padding:4px 8px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-secondary)}.input,.textarea,.select{border:.5px solid var(--border-secondary);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;font-size:var(--font-size-base);padding:8px 10px;font-family:inherit;transition:border-color .15s}.input:focus,.textarea:focus,.select:focus{border-color:var(--border-primary);outline:none}.textarea{resize:vertical;min-height:80px;line-height:1.5}.label{margin-bottom:var(--space-1);font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium);display:block}.field{margin-bottom:var(--space-4)}.card{background:var(--bg-primary);border:.5px solid var(--border-tertiary);border-radius:var(--radius-lg);overflow:hidden}.card-body{padding:var(--space-4)}.card-link{color:inherit;text-decoration:none;transition:border-color .15s,transform 50ms;display:block}.card-link:hover{border-color:var(--border-secondary);color:inherit}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;letter-spacing:.02em;padding:3px 9px;display:inline-flex}.badge-green{background:var(--accent-green-bg);color:var(--accent-green-text)}.badge-amber{background:var(--accent-amber-bg);color:var(--accent-amber-text)}.badge-purple{background:var(--accent-purple-bg);color:var(--accent-purple-text)}.badge-blue{background:var(--accent-blue-bg);color:var(--accent-blue-text)}.muted{color:var(--text-secondary)}.dim{color:var(--text-tertiary)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.stack-sm>*+*{margin-top:var(--space-2)}.stack>*+*{margin-top:var(--space-3)}.stack-lg>*+*{margin-top:var(--space-5)}.row{align-items:center;gap:var(--space-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.grid{gap:var(--space-4);display:grid}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.app-header{background:var(--bg-primary);border-bottom:.5px solid var(--border-tertiary);padding:0 var(--space-5);height:var(--header-height);align-items:center;gap:var(--space-5);z-index:10;display:flex;position:sticky;top:0}.app-brand{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:var(--space-2);text-decoration:none;display:flex}.app-brand:before{content:"";background:var(--accent-green);border-radius:4px;width:18px;height:18px;display:inline-block}.app-nav{gap:var(--space-3);flex:1;display:flex}.app-nav-link{border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:6px 10px;text-decoration:none}.app-nav-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.app-nav-link.active{color:var(--text-primary);background:var(--bg-secondary)}.app-main{max-width:var(--max-content-width);padding:var(--space-6) var(--space-5);margin:0 auto}.app-user-chip{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);display:flex}.bell-link{color:var(--text-secondary);border-radius:var(--radius-sm);padding:4px;font-size:18px;text-decoration:none;position:relative}.bell-link:hover{color:var(--text-primary);background:var(--bg-secondary)}.bell-badge{background:var(--accent-green);color:#fff;border-radius:var(--radius-pill);font-size:10px;font-weight:var(--font-weight-semibold);text-align:center;min-width:16px;padding:1px 6px;line-height:1.4;position:absolute;top:-2px;right:-4px}.auth-shell{min-height:100vh;padding:var(--space-5);background:var(--bg-secondary);justify-content:center;align-items:center;display:flex}.auth-card{background:var(--bg-primary);border:.5px solid var(--border-tertiary);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--space-6);box-shadow:var(--shadow-md)}.auth-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);letter-spacing:-.02em}.auth-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--space-5)}.auth-error{background:var(--danger-bg);color:var(--danger);border:.5px solid var(--danger-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.auth-meta{margin-top:var(--space-5);font-size:var(--font-size-sm);color:var(--text-secondary)}@media (width<=600px){.app-header{padding:0 var(--space-3);gap:var(--space-3)}.app-main{padding:var(--space-4) var(--space-3)}.app-brand{font-size:var(--font-size-base)}.app-nav{gap:var(--space-1)}.app-nav-link{font-size:var(--font-size-sm);padding:6px 8px}.app-user-chip{display:none}.landing-grid-2{grid-template-columns:1fr!important}.auth-card{padding:var(--space-5) var(--space-4)}}.markdown-body{font-size:var(--font-size-base);color:var(--text-primary);line-height:1.65}.markdown-body>*+*{margin-top:var(--space-3)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin-top:var(--space-5);margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);letter-spacing:-.01em}.markdown-body h1{font-size:var(--font-size-xl)}.markdown-body h2{font-size:var(--font-size-lg)}.markdown-body h3{font-size:var(--font-size-md)}.markdown-body h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.markdown-body p{margin:0}.markdown-body ul,.markdown-body ol{padding-left:var(--space-5);margin:0}.markdown-body ul li,.markdown-body ol li{margin:4px 0}.markdown-body blockquote{padding:var(--space-2) var(--space-4);border-left:3px solid var(--border-secondary);color:var(--text-secondary);margin:0;font-style:italic}.markdown-body a{color:var(--accent-green);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.markdown-body a:hover{color:#178263}.markdown-body strong{font-weight:var(--font-weight-semibold)}.markdown-body em{font-style:italic}.markdown-body code{background:var(--bg-secondary);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.markdown-body pre{background:var(--bg-secondary);padding:var(--space-3);border-radius:var(--radius-md);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:var(--font-size-sm);line-height:1.5;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body hr{border:none;border-top:.5px solid var(--border-tertiary);margin:var(--space-4) 0}.markdown-body table{border-collapse:collapse;font-size:var(--font-size-sm)}.markdown-body th,.markdown-body td{border:.5px solid var(--border-tertiary);text-align:left;padding:6px 10px}.markdown-body th{background:var(--bg-secondary);font-weight:var(--font-weight-medium)}.markdown-body.compact{font-size:var(--font-size-sm)}.markdown-body.compact>*+*{margin-top:var(--space-2)}.rich-editor-wrap{position:relative}.rich-editor .ProseMirror{border:.5px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--bg-primary);font-size:var(--font-size-base);min-height:180px;color:var(--text-primary);outline:none;font-family:inherit;line-height:1.65}.rich-editor .ProseMirror:focus{border-color:var(--border-primary)}.rich-editor .ProseMirror>*+*{margin-top:var(--space-3)}.rich-editor .ProseMirror h1,.rich-editor .ProseMirror h2,.rich-editor .ProseMirror h3,.rich-editor .ProseMirror h4{margin-top:var(--space-5);margin-bottom:var(--space-2);font-weight:var(--font-weight-medium);letter-spacing:-.01em}.rich-editor .ProseMirror h1{font-size:var(--font-size-xl)}.rich-editor .ProseMirror h2{font-size:var(--font-size-lg)}.rich-editor .ProseMirror h3{font-size:var(--font-size-md)}.rich-editor .ProseMirror h4{font-size:var(--font-size-base)}.rich-editor .ProseMirror p{margin:0}.rich-editor .ProseMirror ul,.rich-editor .ProseMirror ol{padding-left:var(--space-5);margin:0}.rich-editor .ProseMirror blockquote{padding:var(--space-2) var(--space-4);border-left:3px solid var(--border-secondary);color:var(--text-secondary);margin:0;font-style:italic}.rich-editor .ProseMirror a{color:var(--accent-green);text-decoration:underline}.rich-editor .ProseMirror code{background:var(--bg-secondary);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.rich-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-tertiary);float:left;pointer-events:none;height:0}.rich-editor-bubble{background:var(--bg-primary);border:.5px solid var(--border-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);gap:2px;padding:4px;display:flex}
