.sidebar{--sidebar-width: 240px;--sidebar-width-collapsed: 72px;width:var(--sidebar-width);height:100%;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--space-4) var(--space-2);transition:width var(--motion-standard) var(--ease-ombre);overflow:hidden}.sidebar.is-collapsed{width:var(--sidebar-width-collapsed)}.sidebar-top{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-5)}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;flex-shrink:0}.sidebar-toggle:hover{background:var(--surface-elevated);color:var(--text-primary)}.sidebar-wordmark{font-size:var(--text-lg);color:var(--text-primary);white-space:nowrap}.sidebar-nav,.sidebar-footer{display:flex;flex-direction:column}.sidebar-nav{flex:1;overflow-y:auto}.sidebar-nav ul,.sidebar-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-footer{border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-3)}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);white-space:nowrap;background:transparent;border:none;width:100%;cursor:pointer;text-align:left}.sidebar-link:hover{background:var(--surface-elevated);color:var(--text-primary)}.sidebar-link.is-active{background:var(--surface-elevated);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border)}.sidebar-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.sidebar.is-collapsed .sidebar-link{justify-content:center;padding:var(--space-2)}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ombre-aubergine) 45%,transparent);z-index:40}@media (max-width: 767px){.sidebar{position:fixed;top:0;left:0;z-index:50;width:260px!important;transform:translate(-100%);transition:transform var(--motion-standard) var(--ease-ombre);box-shadow:var(--shadow-lg)}.sidebar.is-mobile-open{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.sidebar,.sidebar.is-mobile-open{transition-duration:1ms}}.app-shell{display:flex;height:100vh;height:100dvh;background:var(--background);overflow:hidden}.app-shell-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100%}.app-workspace{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-6)}.app-topbar{display:none}@media (max-width: 767px){.app-topbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface)}.app-topbar-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:var(--radius-sm)}.topbar-bar{display:block;width:18px;height:1.5px;background:var(--text-primary);border-radius:2px}.app-topbar-wordmark{font-size:var(--text-md);color:var(--text-primary)}.app-workspace{padding:var(--space-4)}}@media (min-width: 768px) and (max-width: 1023px){.app-workspace{padding:var(--space-5)}}.preview-notice{margin:0 0 var(--space-4);padding:var(--space-2) var(--space-4);background:var(--surface-elevated);border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.message-demo-tag{display:inline-block;margin-bottom:var(--space-1);padding:1px var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-pill)}.user-state-panel{margin:0 0 var(--space-4);padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.user-state-retry{background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);padding:var(--space-1) var(--space-4);cursor:pointer}.user-state-retry:hover{background:var(--surface-elevated)}.shell-toast{position:fixed;left:50%;bottom:var(--space-6);transform:translate(-50%);z-index:50;padding:var(--space-2) var(--space-4);background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-primary);font-size:var(--text-sm)}.auth-page,.auth-splash{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6, 24px);background:var(--background);color:var(--text-primary)}.auth-splash{flex-direction:column;gap:var(--space-4, 16px);font-family:var(--font-sans)}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-4, 16px);padding:var(--space-8, 32px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 16px)}.auth-brand{font-family:var(--font-serif);font-size:var(--text-lg);color:var(--text-secondary)}.auth-title,.auth-subtitle{margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.auth-field{display:flex;flex-direction:column;gap:var(--space-1, 4px)}.auth-input{padding:10px 12px;background:var(--background);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md, 10px);font-family:var(--font-sans)}.auth-input:focus-visible,.auth-btn-primary:focus-visible,.auth-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.auth-btn-primary{padding:10px 16px;background:var(--action-primary);color:var(--text-on-action);border:none;border-radius:var(--radius-md, 10px);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer}.auth-btn-primary:disabled{opacity:.55;cursor:not-allowed}.auth-error{margin:0;color:var(--text-primary);border-left:2px solid var(--border);padding-left:var(--space-3, 12px)}.auth-link{color:var(--text-primary);text-decoration:underline}.auth-footer{padding-top:var(--space-2, 8px)}.auth-oauth-stack{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.auth-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-4);color:var(--text-secondary);font-size:var(--text-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-email-heading{margin:0 0 var(--space-3)}.auth-btn-oauth{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer}.auth-btn-oauth:hover:not(:disabled){background:var(--surface-elevated)}.auth-btn-oauth:disabled{opacity:.6;cursor:not-allowed}.auth-btn-oauth--primary{background:var(--surface-elevated);border:2px solid var(--text-primary);font-weight:600}.auth-btn-oauth--secondary{border-color:var(--border-strong)}.auth-btn-oauth--email{border-color:var(--border);color:var(--text-secondary)}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.auth-forgot-link{font-size:var(--text-xs);color:var(--text-secondary);text-decoration:none}.auth-forgot-link:hover,.auth-forgot-link:focus-visible{color:var(--text-primary);text-decoration:underline}.auth-link-button{background:none;border:0;padding:0;cursor:pointer;align-self:flex-start;font-family:inherit}.auth-link-button:disabled{opacity:.6;cursor:not-allowed}.general-ai-page{height:100%;display:flex;flex-direction:column;position:relative}.empty-start{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:640px;margin:0 auto;padding:var(--space-6) var(--space-4)}.empty-start-heading{margin:0}.empty-start-support{margin:var(--space-3) 0 var(--space-7);max-width:46ch}.empty-start-composer{width:100%}.conversation-view{flex:1;display:flex;flex-direction:column;min-height:0;max-width:720px;width:100%;margin:0 auto}.conversation-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border);margin-bottom:var(--space-5)}.conversation-header-titles{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.conversation-mentor-path{display:block}.conversation-title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-mentor-intro{margin:0 0 var(--space-4)}.message-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:var(--space-4)}.message-row{display:flex}.message-row.is-user{justify-content:flex-end}.message-row.is-assistant{justify-content:flex-start}.message-row.is-grouped{margin-top:calc(-1 * var(--space-3))}.message-bubble{background:var(--surface-elevated);color:var(--text-primary);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);max-width:70%;white-space:pre-wrap}.message-assistant-text{color:var(--text-primary);max-width:85%;white-space:pre-wrap}.message-pending{display:inline-flex;gap:4px;padding:var(--space-2) 0}.message-pending-dot{width:6px;height:6px;border-radius:50%;background:var(--text-secondary);animation:ombre-pending-pulse 1.1s var(--ease-ombre-in-out) infinite}.message-pending-dot:nth-child(2){animation-delay:.15s}.message-pending-dot:nth-child(3){animation-delay:.3s}@keyframes ombre-pending-pulse{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@media (prefers-reduced-motion: reduce){.message-pending-dot{animation:none;opacity:.7}}.message-error{display:flex;align-items:center;gap:var(--space-3);color:var(--action-primary)}.message-retry{display:inline-flex;align-items:center;gap:var(--space-1);background:transparent;border:1px solid var(--border-strong);color:var(--text-primary);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer;font-size:var(--text-sm)}.message-retry:hover{background:var(--surface-elevated)}.message-content-with-save{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%}.message-save{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .16s ease,color .16s ease,background .16s ease}.message-row:hover .message-save,.message-save:focus-visible,.message-save.is-saved{opacity:1}.message-save:hover:not(:disabled){color:var(--text-primary);background:var(--surface-elevated)}.message-save.is-saved{color:var(--accent)}.message-save:disabled{cursor:wait;opacity:.5}.conversation-composer{padding-top:var(--space-3)}.composer{display:flex;align-items:flex-end;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-2)}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.composer.is-disabled{opacity:.6}.composer-input{flex:1;resize:none;border:none;background:transparent;color:var(--text-primary);padding:var(--space-2);max-height:200px;font-family:var(--font-sans)}.composer-input:focus{outline:none}.composer-input::placeholder{color:var(--text-secondary)}.composer-attach,.composer-send{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);border:none;cursor:pointer;flex-shrink:0}.composer-attach{background:transparent;color:var(--text-secondary)}.composer-attach:disabled{cursor:not-allowed;opacity:.5}.composer-send{background:var(--action-primary);color:var(--text-on-action)}.composer-send:hover:not(:disabled){background:var(--action-primary-hover)}.composer-send:disabled{background:var(--surface-elevated);color:var(--text-secondary);cursor:not-allowed}.add-to-project{position:relative;flex-shrink:0}.add-to-project-trigger{display:inline-flex;align-items:center;gap:var(--space-1);background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);cursor:pointer;white-space:nowrap}.add-to-project-trigger:hover{color:var(--text-primary);background:var(--surface-elevated)}.add-to-project-trigger.is-linked{box-shadow:var(--glow-amber);border-color:var(--accent);color:var(--text-primary)}.add-to-project-menu{position:absolute;right:0;top:calc(100% + var(--space-2));background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);min-width:200px;z-index:10}.add-to-project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.add-to-project-list button,.add-to-project-new{width:100%;text-align:left;background:transparent;border:none;color:var(--text-primary);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm)}.add-to-project-list button:hover,.add-to-project-new:hover{background:var(--background)}.add-to-project-create{display:flex;gap:var(--space-1);padding:var(--space-1)}.add-to-project-create input{flex:1;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);color:var(--text-primary)}.add-to-project-create button{background:var(--action-primary);color:var(--text-on-action);border:none;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);cursor:pointer;font-size:var(--text-sm)}.general-ai-toast{position:absolute;bottom:var(--space-6);left:50%;transform:translate(-50%);background:var(--deep-surface);color:var(--deep-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);font-size:var(--text-sm)}@media (max-width: 767px){.message-bubble,.message-assistant-text{max-width:100%}.conversation-header{flex-wrap:wrap}}.projects-page{max-width:960px;margin:0 auto}.projects-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-3);flex-wrap:wrap}.projects-new{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--action-primary);color:var(--text-on-action);border:none;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);cursor:pointer;font-size:var(--text-sm)}.projects-new:hover{background:var(--action-primary-hover)}.projects-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.project-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-2)}.project-card:hover{background:var(--surface-elevated);box-shadow:var(--shadow-md)}.project-card-name{margin:0}.project-card-description{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-card-meta{margin-top:auto}.project-workspace{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-7)}.project-header p{margin-top:var(--space-2)}.project-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.project-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.project-section-action{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--border-strong);color:var(--text-primary);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);cursor:pointer}.project-section-action:hover{background:var(--surface-elevated)}.project-conversation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.project-conversation-item{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;text-align:left}.project-conversation-item:hover{background:var(--surface-elevated)}.dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ombre-aubergine) 45%,transparent);display:flex;align-items:center;justify-content:center;z-index:60;padding:var(--space-4)}.dialog-panel{background:var(--background);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);width:100%;max-width:420px;display:flex;flex-direction:column}.dialog-title{margin:0 0 var(--space-4)}.dialog-label{display:block;margin-bottom:var(--space-1);margin-top:var(--space-3)}.dialog-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary)}.dialog-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.dialog-textarea{resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.dialog-cancel,.dialog-create{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer}.dialog-cancel{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.dialog-cancel:hover{background:var(--surface-elevated)}.dialog-create{background:var(--action-primary);border:none;color:var(--text-on-action)}.dialog-create:hover:not(:disabled){background:var(--action-primary-hover)}.dialog-create:disabled{background:var(--surface-elevated);color:var(--text-secondary);cursor:not-allowed}@media (max-width: 767px){.projects-grid{grid-template-columns:1fr}}.mentors-page,.mentor-category-page,.mentor-profile-page{max-width:880px;margin:0 auto;background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6)}.mentors-header{margin-bottom:var(--space-6)}.mentors-header p{margin-top:var(--space-2)}.mentors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.mentor-category-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);text-align:left;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer}.mentor-category-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.mentor-category-card:hover[data-state=collapsed]{transform:scale(1.01)}.mentor-category-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--background);color:var(--accent)}.mentor-category-icon-lg{width:52px;height:52px}.mentor-category-name,.mentor-category-description{margin:0}.mentors-back{display:inline-flex;align-items:center;gap:var(--space-1);background:transparent;border:none;color:var(--text-secondary);padding:0;margin-bottom:var(--space-5);cursor:pointer;font-size:var(--text-sm)}.mentors-back:hover{color:var(--text-primary)}.mentor-category-header{margin-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.mentor-category-header p{margin:0;max-width:60ch}.mentor-category-placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius-md);padding:var(--space-6);text-align:center}.mentor-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-5)}.mentor-breadcrumb-segment{display:inline-flex;align-items:center;gap:var(--space-1)}.mentor-breadcrumb button,.mentor-breadcrumb-current{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.mentor-breadcrumb button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:0}.mentor-breadcrumb button:hover,.mentor-breadcrumb-current{color:var(--text-primary)}.mentor-breadcrumb-sep{color:var(--text-secondary);font-size:var(--text-xs)}.mentor-card{display:flex;flex-direction:column;gap:var(--space-2);text-align:left;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);cursor:pointer}.mentor-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.mentor-card-name{margin:0}.mentor-card-teaser{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mentor-profile-header{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.mentor-profile-description{margin-top:var(--space-2);max-width:62ch}.mentor-profile-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.mentor-profile-action{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-5);font-size:var(--text-sm);cursor:pointer}.mentor-profile-action-primary{background:var(--action-primary);color:var(--text-on-action);border:none}.mentor-profile-action-primary:hover{background:var(--action-primary-hover)}.mentor-profile-action-ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.mentor-profile-action-ghost:disabled{cursor:not-allowed;opacity:.6}@media (max-width: 767px){.mentors-page,.mentor-category-page,.mentor-profile-page{padding:var(--space-4)}.mentors-grid{grid-template-columns:1fr}}.library-page{max-width:960px;margin:0 auto}.library-header{margin-bottom:var(--space-5)}.library-header p{margin-top:var(--space-2)}.library-filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap}.library-filter{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer}.library-filter:hover{background:var(--surface-elevated);color:var(--text-primary)}.library-filter.is-active{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-strong);box-shadow:inset 0 0 0 1px var(--border)}.library-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.library-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.library-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.library-card-source{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-wide);text-transform:uppercase}.library-card-source-ombre{color:var(--accent)}.library-card-source-user{color:var(--text-secondary)}.library-card-title{margin:0}.library-card-preview{margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width: 767px){.library-grid{grid-template-columns:1fr}}.saved-page{display:flex;flex-direction:column;gap:var(--space-6);max-width:920px}.saved-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.saved-header h1{margin:var(--space-1) 0 var(--space-2)}.saved-header>svg{color:var(--accent);margin-top:var(--space-2)}.saved-list{display:flex;flex-direction:column;gap:var(--space-3)}.saved-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.saved-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.saved-message{margin:var(--space-3) 0;white-space:pre-wrap}.saved-delete,.saved-open{display:inline-flex;align-items:center;gap:var(--space-1);border:0;cursor:pointer}.saved-delete{width:30px;height:30px;justify-content:center;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary)}.saved-delete:hover:not(:disabled){background:var(--surface-elevated);color:var(--text-primary)}.saved-open{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary)}.saved-open:hover{background:var(--surface-elevated)}.saved-delete:disabled{cursor:wait;opacity:.5}.saved-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-12) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg)}.saved-empty h2{margin:0}.saved-error{color:var(--action-primary)}.history-page{max-width:720px;margin:0 auto}.history-header{margin-bottom:var(--space-5)}.history-header p{margin-top:var(--space-2)}.history-search{display:flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-6);color:var(--text-secondary)}.history-search input{flex:1;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm)}.history-search input:focus{outline:none}.history-search input::placeholder{color:var(--text-secondary)}.history-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.history-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center}.history-group{margin-bottom:var(--space-6)}.history-group-label{display:block;margin-bottom:var(--space-2)}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.history-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;text-align:left}.history-item:hover{background:var(--surface-elevated)}.history-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.history-item-title-row{display:flex;align-items:center;gap:var(--space-2);min-width:0}.history-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-status{flex-shrink:0;width:8px;height:8px;border-radius:50%}.history-status.is-pending{background:var(--accent)}.history-status.is-error{background:var(--action-primary)}@keyframes ombre-history-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion: no-preference){.history-status.is-pending{animation:ombre-history-pulse 1.1s var(--ease-ombre-in-out) infinite}}.history-item-tags{display:flex;gap:var(--space-1);flex-shrink:0}.history-tag{font-size:var(--text-xs);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px var(--space-2);color:var(--text-secondary);white-space:nowrap}.history-tag-mentor{color:var(--accent);border-color:var(--border-strong)}.history-tag-general{color:var(--text-secondary);background:transparent}@media (max-width: 767px){.history-item{flex-wrap:wrap}}.memory-page{max-width:880px;margin:0 auto;background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6)}.memory-header{margin-bottom:var(--space-5)}.memory-header p{margin-top:var(--space-2);max-width:60ch}.memory-add-trigger{display:inline-flex;align-items:center;gap:var(--space-1);background:transparent;border:1px solid var(--border-strong);color:var(--text-primary);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer;margin-bottom:var(--space-5)}.memory-add-trigger:hover{background:var(--surface-elevated)}.memory-add-form,.memory-card.is-editing{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.memory-input{width:100%;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2);color:var(--text-primary);font-family:var(--font-sans)}.memory-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.memory-textarea{resize:vertical}.memory-add-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.memory-cancel,.memory-save{border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);font-size:var(--text-sm);cursor:pointer}.memory-cancel{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.memory-cancel:hover{background:var(--background)}.memory-save{background:var(--action-primary);color:var(--text-on-action);border:none}.memory-save:hover:not(:disabled){background:var(--action-primary-hover)}.memory-save:disabled{background:var(--border-strong);color:var(--text-secondary);cursor:not-allowed}.memory-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center}.memory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.memory-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.memory-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.memory-card-label{color:var(--accent)}.memory-card-content{margin:0;color:var(--text-primary);white-space:pre-wrap}.memory-card-actions{display:flex;gap:var(--space-1);flex-shrink:0}.memory-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer}.memory-icon-btn:hover{background:var(--background);color:var(--text-primary)}@media (max-width: 767px){.memory-page{padding:var(--space-4)}.memory-grid{grid-template-columns:1fr}}.settings-page{max-width:720px;margin:0 auto;position:relative}.settings-header{margin-bottom:var(--space-5)}.settings-header p{margin-top:var(--space-2)}.settings-nav{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6);position:sticky;top:0;background:var(--background);padding:var(--space-2) 0;z-index:5}.settings-nav-pill{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);cursor:pointer;white-space:nowrap}.settings-nav-pill:hover{background:var(--surface-elevated);color:var(--text-primary)}.settings-section{border-top:1px solid var(--border);padding:var(--space-5) 0;scroll-margin-top:var(--space-8)}.settings-section:first-of-type{border-top:none}.settings-section h2{margin:0}.settings-section-intro{margin:var(--space-1) 0 var(--space-4);max-width:60ch}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.settings-section>.settings-row:last-of-type{border-bottom:none}.settings-row-text{display:flex;flex-direction:column;gap:2px;max-width:48ch}.settings-switch{flex-shrink:0;width:40px;height:24px;border-radius:var(--radius-pill);background:var(--border-strong);border:none;cursor:pointer;position:relative;padding:2px}.settings-switch.is-on{background:var(--action-primary)}.settings-switch:disabled{cursor:not-allowed;opacity:.5}.settings-switch-thumb{display:block;width:18px;height:18px;border-radius:50%;background:var(--ombre-bone);transform:translate(0);transition:transform var(--motion-fast) var(--ease-ombre)}.settings-switch.is-on .settings-switch-thumb{transform:translate(16px)}.settings-row-segmented{align-items:center}.settings-segmented{display:flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px;flex-shrink:0}.settings-segmented-btn{background:transparent;border:none;color:var(--text-secondary);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);cursor:pointer}.settings-segmented-btn.is-active{background:var(--surface-elevated);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-strong)}.settings-danger-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4)}.settings-danger-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer}.settings-danger-btn:hover{background:var(--surface-elevated)}.settings-danger-btn-strong{border-color:var(--action-primary);color:var(--action-primary)}.settings-danger-btn:disabled{opacity:.5;cursor:not-allowed}.settings-version{margin:var(--space-3) 0}.settings-about-links{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.settings-link{background:transparent;border:none;color:var(--text-secondary);text-decoration:underline;cursor:not-allowed;padding:0;font-size:var(--text-sm)}.settings-link-active{color:var(--accent);text-decoration:underline;cursor:pointer}.settings-disclaimer{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);max-width:65ch}.settings-toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);background:var(--deep-surface);color:var(--deep-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);font-size:var(--text-sm);max-width:90vw;text-align:center}@media (max-width: 767px){.settings-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.settings-row-segmented{align-items:flex-start}}.profile-page{max-width:640px;margin:0 auto;position:relative}.profile-header{margin-bottom:var(--space-6)}.profile-header p{margin-top:var(--space-2)}.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.profile-identity{display:flex;gap:var(--space-4);align-items:flex-start}.profile-avatar{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--action-primary);color:var(--text-on-action);font-family:var(--font-serif);font-size:var(--text-lg)}.profile-fields{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.profile-name{margin:0}.profile-input{width:100%;max-width:320px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-family:var(--font-sans)}.profile-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.profile-edit-trigger{align-self:flex-start;margin-top:var(--space-2)}.profile-edit-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.profile-btn-primary,.profile-btn-ghost,.profile-btn-danger{border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);cursor:pointer}.profile-btn-primary{background:var(--action-primary);color:var(--text-on-action);border:none}.profile-btn-primary:hover{background:var(--action-primary-hover)}.profile-btn-ghost{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.profile-btn-ghost:hover{background:var(--surface-elevated)}.profile-btn-danger{background:transparent;border:1px solid var(--action-primary);color:var(--action-primary)}.profile-btn-danger:disabled{opacity:.5;cursor:not-allowed;border-color:var(--border-strong);color:var(--text-secondary)}.profile-section{border-top:1px solid var(--border);padding-top:var(--space-4);margin-top:var(--space-4)}.profile-section h2{margin:0 0 var(--space-2)}.profile-section-intro{margin:var(--space-1) 0 var(--space-4);max-width:60ch}.profile-link{color:var(--accent);cursor:pointer}.profile-stat-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.profile-section .profile-stat-row:last-of-type{border-bottom:none}.profile-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.profile-toast{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);background:var(--deep-surface);color:var(--deep-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);font-size:var(--text-sm);max-width:90vw;text-align:center}@media (max-width: 767px){.profile-identity{flex-direction:column;align-items:flex-start}}:root{--ombre-bone: #F4ECDF;--ombre-sand: #E3D2B6;--ombre-amber: #D29A4B;--ombre-sienna: #A8532E;--ombre-cognac: #4A2C1F;--ombre-taupe: #8C7B6B;--ombre-aubergine: #2A1A26;--ombre-sidebar: #EEE3D3;--background: var(--ombre-bone);--surface: var(--ombre-sidebar);--surface-elevated: var(--ombre-sand);--text-primary: var(--ombre-cognac);--text-secondary: var(--ombre-taupe);--text-on-action: var(--ombre-bone);--action-primary: var(--ombre-sienna);--action-primary-hover: #954a29;--accent: var(--ombre-amber);--border: rgba(140, 123, 107, .2);--border-strong: rgba(140, 123, 107, .35);--deep-surface: var(--ombre-aubergine);--deep-text: var(--ombre-bone);--focus-ring: rgba(210, 154, 75, .55);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(42, 26, 38, .08);--shadow-md: 0 4px 16px rgba(42, 26, 38, .1);--shadow-lg: 0 12px 32px rgba(42, 26, 38, .14);--glow-amber: 0 0 24px rgba(210, 154, 75, .25)}[data-theme=dark]{--background: var(--ombre-aubergine);--surface: #34212e;--surface-elevated: #3d2735;--text-primary: var(--ombre-bone);--text-secondary: #c9b8ad;--text-on-action: var(--ombre-bone);--action-primary: var(--ombre-sienna);--action-primary-hover: #c06438;--accent: var(--ombre-amber);--border: rgba(227, 210, 182, .14);--border-strong: rgba(227, 210, 182, .24);--deep-surface: #1c1119;--deep-text: var(--ombre-bone);--focus-ring: rgba(210, 154, 75, .65);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .32);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .4);--glow-amber: 0 0 28px rgba(210, 154, 75, .35)}.section-warm{--surface: var(--ombre-sand);--surface-elevated: #dcb98e;--accent: var(--ombre-amber)}[data-theme=dark] .section-warm{--surface: #3d2735;--surface-elevated: #4a2e3d}:root{--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.375rem;--text-xl: 1.75rem;--text-2xl: 2.25rem;--text-3xl: 3rem;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .04em}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary)}h1,h2,h3,.font-serif{font-family:var(--font-serif);font-weight:500;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.text-wordmark{font-family:var(--font-serif);font-weight:600;letter-spacing:var(--tracking-normal);text-transform:lowercase}.text-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-secondary)}.text-secondary{color:var(--text-secondary)}.text-heading-lg{font-family:var(--font-serif);font-size:var(--text-3xl);line-height:var(--leading-tight)}.text-heading-md{font-family:var(--font-serif);font-size:var(--text-2xl);line-height:var(--leading-tight)}.text-heading-sm{font-family:var(--font-serif);font-size:var(--text-xl);line-height:var(--leading-tight)}.text-body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed)}.text-body-sm{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal)}.text-meta{font-family:var(--font-sans);font-size:var(--text-xs);line-height:var(--leading-normal);color:var(--text-secondary)}:root{--motion-instant: .1s;--motion-fast: .18s;--motion-standard: .32s;--motion-slow: .6s;--motion-drift: 12s;--ease-ombre: cubic-bezier(.22, 1, .36, 1);--ease-ombre-in-out: cubic-bezier(.65, 0, .35, 1);--ease-linear: linear}@keyframes ombre-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.motion-reveal{animation:ombre-reveal var(--motion-standard) var(--ease-ombre) both}.motion-reveal[style*=--motion-delay]{animation-delay:var(--motion-delay)}@keyframes ombre-drift{0%{transform:translate(0) scale(1)}50%{transform:translate(-1.5%,1%) scale(1.02)}to{transform:translate(0) scale(1)}}.motion-drift{animation:ombre-drift var(--motion-drift) var(--ease-ombre-in-out) infinite}.motion-expand{transition:transform var(--motion-slow) var(--ease-ombre),opacity var(--motion-slow) var(--ease-ombre);transform-origin:top left}.motion-expand[data-state=collapsed]{transform:scale(.96);opacity:.85}.motion-expand[data-state=expanded]{transform:scale(1);opacity:1}@keyframes ombre-connect-draw{0%{stroke-dashoffset:var(--trace-length, 100);opacity:0}to{stroke-dashoffset:0;opacity:1}}.motion-connect path{stroke:var(--accent);stroke-width:1;fill:none;stroke-dasharray:var(--trace-length, 100);animation:ombre-connect-draw var(--motion-slow) var(--ease-ombre) both}.motion-connect.is-settled path{transition:opacity var(--motion-slow) var(--ease-ombre);opacity:0}.motion-focus-group>*{transition:opacity var(--motion-standard) var(--ease-ombre),filter var(--motion-standard) var(--ease-ombre)}.motion-focus-group:has([data-focused=true])>*:not([data-focused=true]){opacity:.55;filter:saturate(.85)}.motion-focus-group>.is-unfocused{opacity:.55;filter:saturate(.85)}@keyframes ombre-return{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.motion-return{animation:ombre-return var(--motion-standard) var(--ease-ombre) both}@keyframes ombre-settle-shadow{0%{box-shadow:var(--shadow-sm)}to{box-shadow:var(--shadow-md)}}.motion-settle{animation:ombre-settle-shadow var(--motion-slow) var(--ease-ombre) both}.motion-interactive{transition:background-color var(--motion-fast) var(--ease-ombre),border-color var(--motion-fast) var(--ease-ombre),box-shadow var(--motion-fast) var(--ease-ombre),transform var(--motion-fast) var(--ease-ombre)}.motion-interactive:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}@media (prefers-reduced-motion: reduce){.motion-reveal,.motion-drift,.motion-connect path,.motion-return,.motion-settle{animation:none!important}.motion-reveal{opacity:1;transform:none}.motion-connect path{stroke-dashoffset:0;opacity:1}.motion-expand,.motion-focus-group>*,.motion-interactive{transition-duration:1ms!important}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--background);transition:background-color var(--motion-standard) var(--ease-ombre)}a{color:inherit;text-decoration:none}button{font:inherit}
