:root{--color-primary:#5754ff;--color-primary-hover:#4340e6;--color-primary-light:#5754ff1a;--color-secondary:#ffc753;--color-secondary-hover:#f0b83e;--color-bg:#f5f4ef;--color-text:#3e3e3e;--color-text-muted:#8a8a8a;--color-white:#fff;--color-border:#e5e4df;--color-error:#e74c3c;--gradient-primary:linear-gradient(135deg, #5754ff 0%, #7b79ff 100%);--gradient-primary-hover:linear-gradient(135deg, #4340e6 0%, #6b69f0 100%);--font-display:"DM Serif Display", Georgia, serif;--font-family:"Inter", system-ui, -apple-system, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--chat-max-width:640px;--header-height:56px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overscroll-behavior:none;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);flex-direction:column;min-height:100dvh;display:flex}#root{flex-direction:column;flex:1;min-height:100dvh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}p{line-height:var(--line-height-relaxed)}button{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;outline:none}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input,textarea{font-family:var(--font-family);font-size:var(--font-size-base);background:0 0;border:none;outline:none}select{font-size:var(--font-size-base)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}.chat-container{width:100%;max-width:var(--chat-max-width);padding:0 max(var(--space-4), env(safe-area-inset-right)) 0 max(var(--space-4), env(safe-area-inset-left));margin:0 auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.message-bubble{flex-direction:column;max-width:85%;display:flex}.message-bubble--user{animation:messageSlideInRight var(--transition-base) ease both;align-self:flex-end}.message-bubble--assistant{animation:messageSlideInLeft var(--transition-base) ease both;align-self:flex-start}@keyframes messageSlideInLeft{0%{opacity:0;transform:translate(-12px)translateY(6px)}to{opacity:1;transform:translate(0)translateY(0)}}@keyframes messageSlideInRight{0%{opacity:0;transform:translate(12px)translateY(6px)}to{opacity:1;transform:translate(0)translateY(0)}}.message-bubble__content{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);line-height:var(--line-height-relaxed);font-size:var(--font-size-base);word-wrap:break-word}.message-bubble--user .message-bubble__content{background:var(--gradient-primary);color:var(--color-white);border-bottom-right-radius:var(--space-1)}.message-bubble--assistant .message-bubble__content{background:var(--color-white);color:var(--color-text);box-shadow:var(--shadow-sm);border-bottom-left-radius:var(--space-1)}.message-bubble__text{white-space:pre-wrap;margin:0}.message-bubble__markdown{white-space:normal;word-break:break-word}.message-bubble__markdown>:first-child{margin-top:0}.message-bubble__markdown>:last-child{margin-bottom:0}.message-bubble__markdown p{margin-bottom:var(--space-2);white-space:pre-wrap}.message-bubble__markdown a{color:var(--color-primary);text-decoration:none}.message-bubble__markdown a:hover{text-decoration:underline}.message-bubble__markdown strong{font-weight:var(--font-weight-bold,700)}.message-bubble__markdown table{border-collapse:collapse;width:100%;margin-top:var(--space-3);margin-bottom:var(--space-3);font-size:var(--font-size-sm)}.message-bubble__markdown th,.message-bubble__markdown td{padding:var(--space-2);border:1px solid var(--color-border);text-align:left}.message-bubble__markdown th{font-weight:var(--font-weight-semibold,600);background-color:#00000008}.message-bubble__markdown ul,.message-bubble__markdown ol{margin-top:var(--space-2);margin-bottom:var(--space-2);padding-left:var(--space-5)}.message-bubble__controls{margin-top:var(--space-3)}.option-buttons{gap:var(--space-2);flex-direction:column;display:flex}.option-buttons__btn{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-white);color:var(--color-text);border:1.5px solid var(--color-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;animation:optionFadeIn var(--transition-base) ease both}.option-buttons__btn:first-child{animation-delay:50ms}.option-buttons__btn:nth-child(2){animation-delay:.1s}.option-buttons__btn:nth-child(3){animation-delay:.15s}.option-buttons__btn:nth-child(4){animation-delay:.2s}.option-buttons__btn:nth-child(5){animation-delay:.25s}.option-buttons__btn:nth-child(6){animation-delay:.3s}@keyframes optionFadeIn{0%{opacity:0;transform:translateY(6px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.option-buttons__btn:hover:not(:disabled){background:var(--color-secondary);border-color:var(--color-secondary);color:var(--color-text);box-shadow:var(--shadow-md);transform:translateY(-2px)}.option-buttons__btn:active:not(:disabled){box-shadow:var(--shadow-sm);transition-duration:80ms;transform:translateY(0)scale(.97)}.option-buttons__btn:disabled{opacity:.5;cursor:not-allowed}.multi-choice{gap:var(--space-3);flex-direction:column;display:flex}.multi-choice__options{gap:var(--space-2);flex-direction:column;display:flex}.multi-choice__btn{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-white);color:var(--color-text);border:1.5px solid var(--color-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;animation:optionFadeIn var(--transition-base) ease both;display:flex}.multi-choice__btn:first-child{animation-delay:50ms}.multi-choice__btn:nth-child(2){animation-delay:.1s}.multi-choice__btn:nth-child(3){animation-delay:.15s}.multi-choice__btn:nth-child(4){animation-delay:.2s}.multi-choice__btn:nth-child(5){animation-delay:.25s}.multi-choice__btn:nth-child(6){animation-delay:.3s}.multi-choice__btn--selected{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm), 0 0 0 2px #5754ff1f}.multi-choice__btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.multi-choice__btn:active:not(:disabled){transition-duration:80ms;transform:translateY(0)scale(.97)}.multi-choice__btn:disabled{opacity:.5;cursor:not-allowed}.multi-choice__check{border:1.5px solid var(--color-border);width:18px;height:18px;font-size:var(--font-size-xs);transition:all var(--transition-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.multi-choice__btn--selected .multi-choice__check{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.multi-choice__submit{min-height:44px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-full);background:var(--gradient-primary);color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;animation:optionFadeIn var(--transition-slow) ease both;align-self:flex-start;animation-delay:.35s}.multi-choice__submit:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-2px)}.multi-choice__submit:active:not(:disabled){transition-duration:80ms;transform:translateY(0)scale(.97)}.multi-choice__submit:disabled{opacity:.45;cursor:not-allowed}.slider-control{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);animation:optionFadeIn var(--transition-base) ease both;flex-direction:column;animation-delay:.1s;display:flex}.slider-control__value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);text-align:center;transition:transform var(--transition-fast)}.slider-control__labels{justify-content:space-between;gap:var(--space-4);display:flex}.slider-control__label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium);cursor:default;max-width:45%}.slider-control__label:last-child{text-align:right}.slider-control__input{appearance:none;border-radius:var(--radius-full);background:var(--color-border);cursor:pointer;outline:none;width:100%;height:6px}.slider-control__input::-webkit-slider-thumb{appearance:none;background:var(--color-primary);border:3px solid var(--color-white);width:22px;height:22px;box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border-radius:50%}.slider-control__input::-webkit-slider-thumb:hover{box-shadow:var(--shadow-lg);transform:scale(1.2)}.slider-control__input::-webkit-slider-thumb:active{transform:scale(1.1)}.slider-control__input::-moz-range-thumb{background:var(--color-primary);border:3px solid var(--color-white);width:22px;height:22px;box-shadow:var(--shadow-md);cursor:pointer;border-radius:50%}.slider-control__input:disabled{opacity:.5;cursor:not-allowed}.slider-control__submit{min-height:44px;padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);background:var(--gradient-primary);color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;align-self:flex-end}.slider-control__submit:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-2px)}.slider-control__submit:active:not(:disabled){transition-duration:80ms;transform:translateY(0)scale(.97)}.slider-control__submit:disabled{opacity:.45;cursor:not-allowed}@media (width<=480px){.message-bubble{max-width:92%}.option-buttons__btn,.multi-choice__btn{padding:var(--space-3) var(--space-4)}.multi-choice__submit,.slider-control__submit{padding:var(--space-3) var(--space-6)}}.doc-mini-card{align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);animation:optionFadeIn var(--transition-base) ease both;outline:none;min-width:220px;max-width:320px;animation-delay:50ms;display:flex}.doc-mini-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.doc-mini-card:active{transition-duration:80ms;transform:translateY(0)scale(.98)}.doc-mini-card:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px #5754ff33}.doc-mini-card__icon{flex-shrink:0;font-size:1.5rem;line-height:1}.doc-mini-card__body{flex:1;min-width:0}.doc-mini-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.doc-mini-card__subtitle{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-mini-card__arrow{font-size:var(--font-size-base);color:var(--color-primary);font-weight:var(--font-weight-bold);transition:transform var(--transition-fast);flex-shrink:0}.doc-mini-card:hover .doc-mini-card__arrow{transform:translate(3px)}.skills-card{padding:var(--space-4);background:var(--color-white);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);animation:optionFadeIn var(--transition-base) ease both;outline:none;min-width:220px;max-width:320px;animation-delay:50ms}.skills-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.skills-card:active{transition-duration:80ms;transform:translateY(0)scale(.98)}.skills-card:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px #5754ff33}.skills-card__header{align-items:center;gap:var(--space-2);display:flex}.skills-card__icon{flex-shrink:0;font-size:1.25rem;line-height:1}.skills-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);flex:1}.skills-card__arrow{font-size:var(--font-size-base);color:var(--color-primary);font-weight:var(--font-weight-bold);transition:transform var(--transition-fast);flex-shrink:0}.skills-card:hover .skills-card__arrow{transform:translate(3px)}.skills-card__body{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.skills-card__pills{gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.skills-card__pill{font-size:var(--font-size-xs);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);padding:2px var(--space-2);white-space:nowrap;border-radius:999px}.skills-card__pill--more{color:var(--color-text-muted)}.skills-card__view-all{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-medium)}.skills-card__subtitle{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.profile-card__details{gap:var(--space-1);flex-direction:column;display:flex}.profile-card__detail{align-items:baseline;gap:var(--space-2);font-size:var(--font-size-xs);display:flex}.profile-card__detail-label{color:var(--color-text-muted);flex-shrink:0;min-width:5rem}.profile-card__detail-value{color:var(--color-text);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-input{width:100%;padding:var(--space-5) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:linear-gradient(to bottom, #f5f4ef00 0%, #f5f4efd9 30%, var(--color-bg) 55%);position:sticky;bottom:0}.chat-input__inner{align-items:flex-end;gap:var(--space-2);max-width:var(--chat-max-width);padding:var(--space-2) var(--space-3);background:var(--color-white);border-radius:var(--radius-xl);border:1.5px solid var(--color-border);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);margin:0 auto;display:flex;box-shadow:0 2px 12px #0000000f,0 0 0 1px #00000008}.chat-input__inner:focus-within{border-color:var(--color-primary);box-shadow:0 4px 20px #5754ff14, 0 0 0 3px var(--color-primary-light)}.chat-input__inner--recording{box-shadow:var(--shadow-md), 0 0 0 3px #ef444426;border-color:#ef4444}.chat-input__textarea{resize:none;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);padding:var(--space-1) 0;background:0 0;border:none;outline:none;flex:1;max-height:120px;overflow-y:auto}.chat-input__textarea::placeholder{color:var(--color-text-muted)}.chat-input__textarea:disabled{opacity:.5}.chat-input__send{background:var(--gradient-primary);width:36px;height:36px;color:var(--color-white);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input__send:hover:not(:disabled){opacity:.9;transform:scale(1.05)}.chat-input__send:active:not(:disabled){transform:scale(.95)}.chat-input__send:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.chat-input__mic{background:var(--color-bg);width:36px;height:36px;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input__mic:hover:not(:disabled){background:var(--color-border);transform:scale(1.05)}.chat-input__mic:active:not(:disabled){transform:scale(.95)}.chat-input__mic:disabled{opacity:.5;cursor:not-allowed}.chat-input__mic--transcribing{background:var(--color-primary-light)}.chat-input__recording-indicator{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;flex:1;display:flex}.chat-input__recording-dot{background:#ef4444;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite recording-pulse}@keyframes recording-pulse{0%,to{opacity:1}50%{opacity:.3}}.chat-input__recording-label{font-family:var(--font-family);font-size:var(--font-size-sm);color:#ef4444;font-weight:500}.chat-input__cancel{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input__cancel:hover{background:var(--color-bg);color:var(--color-text)}.chat-input__spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.chat-input{padding-bottom:calc(var(--space-4) + var(--bottom-tab-bar-height,0px) + env(safe-area-inset-bottom,0px))}}@media (width<=480px){.chat-input{padding:var(--space-2) var(--space-3) calc(var(--space-3) + var(--bottom-tab-bar-height,0px))}.chat-input__send,.chat-input__mic,.chat-input__cancel{width:40px;height:40px}}.typing-indicator{animation:messageSlideInLeft var(--transition-base) ease both;align-self:flex-start}.typing-indicator__bubble{padding:var(--space-3) var(--space-5);background:var(--color-white);border-radius:var(--radius-lg);border-bottom-left-radius:var(--space-1);box-shadow:var(--shadow-sm);align-items:center;gap:6px;display:inline-flex}.typing-indicator__dot{background:var(--color-primary);opacity:.35;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both typingPulse;display:block}.typing-indicator__dot:first-child{animation-delay:0s}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes typingPulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:.7;transform:scale(1)}}.docs__header{z-index:100;height:var(--header-height);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--color-border);background:#f5f4efbf;flex-shrink:0;position:sticky;top:0}.docs__header-inner{align-items:center;gap:var(--space-3);height:100%;display:flex}.docs__back-btn{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text);font-size:var(--font-size-lg);cursor:pointer;transition:background var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.docs__back-btn:hover{background:var(--color-primary-light)}.docs__page-title{font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-text);font-weight:400}.docs__content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.docs__list{gap:var(--space-4);padding:var(--space-6) 0;flex-direction:column;display:flex}.docs__card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-5);transition:box-shadow var(--transition-fast), border-color var(--transition-fast);animation:slideUp var(--transition-base) ease both}.docs__card:first-child{animation-delay:0s}.docs__card:nth-child(2){animation-delay:50ms}.docs__card:nth-child(3){animation-delay:.1s}.docs__card:nth-child(4){animation-delay:.15s}.docs__card:nth-child(5){animation-delay:.2s}.docs__card:nth-child(n+6){animation-delay:.25s}.docs__card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.docs__card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.docs__card-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:var(--line-height-tight)}.docs__card-date{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.docs__card-content{font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-relaxed);background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-3);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto}.docs__card-meta{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.docs__tag{padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-primary-light);border-radius:var(--radius-full);align-items:center;display:inline-flex}.docs__empty{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);text-align:center;flex-direction:column;display:flex}.docs__empty-icon{opacity:.4;font-size:3rem}.docs__empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.docs__empty-text{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:320px}.docs__skeleton{gap:var(--space-4);padding:var(--space-6) 0;flex-direction:column;display:flex}.docs__skeleton-card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-5)}.docs__skeleton-line{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-border) 25%, #ffffff80 50%, var(--color-border) 75%);background-size:200% 100%;height:14px;animation:1.5s ease-in-out infinite shimmer}.docs__skeleton-line--title{width:60%;height:18px;margin-bottom:var(--space-3)}.docs__skeleton-line--body{width:100%;margin-bottom:var(--space-2)}.docs__skeleton-line--short{width:40%}.docs__error{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);text-align:center;flex-direction:column;display:flex}.docs__error-text{font-size:var(--font-size-sm);color:var(--color-error)}.docs__retry-btn{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.docs__retry-btn:hover{background:var(--color-primary-hover)}@media (width<=480px){.docs__list{padding:var(--space-4) 0;gap:var(--space-3)}.docs__card{padding:var(--space-3)}.docs__card-content{max-height:120px}.docs__overlay{align-items:stretch}.docs__fullscreen{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%}.docs__fullscreen-header{padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px))}.docs__fullscreen-body{padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.docs__fullscreen-footer{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}}.docs__card--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.docs__card--clickable:active{transform:scale(.99)}.docs__overlay{z-index:300;-webkit-backdrop-filter:blur(4px);animation:fadeIn var(--transition-fast) ease both;overscroll-behavior:contain;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.docs__fullscreen{background:var(--color-white);border-radius:var(--radius-lg);width:90vw;max-width:720px;max-height:85vh;box-shadow:var(--shadow-lg);animation:docSlideUp var(--transition-base) ease both;flex-direction:column;display:flex;overflow:hidden}@keyframes docSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.docs__fullscreen-header{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.docs__fullscreen-title{font-family:var(--font-display);font-size:var(--font-size-md);color:var(--color-text);font-weight:400;line-height:var(--line-height-tight);flex:1}.docs__fullscreen-body{padding:var(--space-5);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text);word-break:break-word;-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.docs__fullscreen-footer{gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;display:flex}.skills__header{z-index:100;height:var(--header-height);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--color-border);background:#f5f4efbf;flex-shrink:0;position:sticky;top:0}.skills__header-inner{align-items:center;gap:var(--space-3);height:100%;display:flex}.skills__content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.skills__list{gap:var(--space-4);padding:var(--space-6) 0;flex-direction:column;display:flex}.skill__card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-5);gap:var(--space-4);animation:slideUp var(--transition-base) ease both;transition:opacity var(--transition-fast);flex-direction:column;display:flex}.skill__card:first-child{animation-delay:0s}.skill__card:nth-child(2){animation-delay:40ms}.skill__card:nth-child(3){animation-delay:80ms}.skill__card:nth-child(4){animation-delay:.12s}.skill__card:nth-child(5){animation-delay:.16s}.skill__card:nth-child(6){animation-delay:.2s}.skill__card:nth-child(n+7){animation-delay:.24s}.skill__card--saving{opacity:.7}.skill__card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.skill__name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:var(--line-height-tight);flex:1}.skill__badges{gap:var(--space-1);flex-wrap:wrap;flex-shrink:0;display:flex}.skill__badge{padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap;align-items:center;display:inline-flex}.skill__badge--soft{color:var(--color-primary);background:var(--color-primary-light)}.skill__badge--inferred{color:var(--color-text-muted);background:#8a8a8a1f}.skill__badge--rising{color:#b45309;background:#ffc75333}.skill__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.skill__row-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);flex-shrink:0;min-width:88px}.skill__segmented{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap;gap:2px;padding:3px;display:flex}.skill__seg-btn{align-items:center;gap:var(--space-1);min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border-radius:calc(var(--radius-sm) - 3px);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:none;display:flex}.skill__seg-btn:hover:not(:disabled){color:var(--color-text);background:#5754ff0f}.skill__seg-btn--active{background:var(--color-white);color:var(--color-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.skill__seg-btn--active:hover:not(:disabled){background:var(--color-white)}.skill__seg-btn:disabled{cursor:not-allowed;opacity:.6}@media (width<=480px){.skill__card{padding:var(--space-3)}.skill__row-label{min-width:76px}.skill__segmented{flex-wrap:wrap}.skill__demand-label{min-width:80px}}.roles__header{z-index:100;height:var(--header-height);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--color-border);background:#f5f4efbf;flex-shrink:0;position:sticky;top:0}.roles__header-inner{align-items:center;gap:var(--space-3);height:100%;display:flex}.roles__content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.roles__list{gap:var(--space-4);padding:var(--space-6) 0;flex-direction:column;display:flex}.role__card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-5);gap:var(--space-4);animation:slideUp var(--transition-base) ease both;transition:opacity var(--transition-fast), border-color var(--transition-fast);flex-direction:column;display:flex}.role__card:first-child{animation-delay:0s}.role__card:nth-child(2){animation-delay:60ms}.role__card:nth-child(3){animation-delay:.12s}.role__card:nth-child(4){animation-delay:.18s}.role__card:nth-child(5){animation-delay:.24s}.role__card:nth-child(n+6){animation-delay:.3s}.role__card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.role__card--busy{opacity:.7}.role__card-header{gap:var(--space-2);flex-direction:column;display:flex}.role__name-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.role__name{font-family:var(--font-display);font-size:var(--font-size-md);color:var(--color-text);font-weight:400;line-height:var(--line-height-tight);flex:1}.role__meta-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.role__badge{padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap;align-items:center;display:inline-flex}.role__badge--selected{color:var(--color-primary);background:var(--color-primary-light)}.role__badge--dismissed{color:#888;background:#f0f0ee}.role__badge--salary{color:#166534;background:#1665341a}.role__badge--speed{color:#92400e;background:#ffc75333}.role__badge--skills{color:var(--color-text-muted);background:#8a8a8a1f}.role__total-score{align-items:baseline;gap:2px;margin-left:auto;display:inline-flex}.role__total-score-value{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-primary)}.role__total-score-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.role__mission{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-normal);margin:0}.role__scores{gap:var(--space-2);flex-direction:column;display:flex}.role__score-row{align-items:center;gap:var(--space-2);display:flex}.role__score-label{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0;min-width:72px}.role__score-track{background:var(--color-bg);border-radius:var(--radius-full);border:1px solid var(--color-border);flex:1;height:6px;overflow:hidden}.role__score-fill{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-base)}.role__score-value{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text);text-align:right;flex-shrink:0;min-width:24px}.role__why{gap:var(--space-1);flex-direction:column;display:flex}.role__why-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.role__why-text{font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-relaxed);margin:0}.role__actions{gap:var(--space-2);padding-top:var(--space-1);border-top:1px solid var(--color-border);display:flex}.role__action-btn{min-height:44px;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.role__action-btn:disabled{cursor:not-allowed;opacity:.5}.role__action-btn--select{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.role__action-btn--select:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.role__action-btn--select-active{background:var(--gradient-primary);color:var(--color-white);border-color:var(--color-primary)}.role__action-btn--select-active:hover:not(:disabled){opacity:.9}.role__action-btn--dismiss{color:var(--color-text-muted);background:0 0;border-color:#0000;margin-left:auto}.role__action-btn--dismiss:hover:not(:disabled){color:var(--color-error);background:#e74c3c14}.role__action-btn--dismiss-active{color:var(--color-white);background:#e74c3c;border-color:#e74c3c}.role__action-btn--dismiss-active:hover:not(:disabled){background:#c0392b;border-color:#c0392b}@media (width<=480px){.role__card{padding:var(--space-3)}.role__name{font-size:var(--font-size-base)}.role__score-label{min-width:60px}.role__actions{flex-wrap:wrap}.role__action-btn{flex:1;justify-content:center;min-width:0}}.profile__header{z-index:100;height:var(--header-height);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--color-border);background:#f5f4efbf;flex-shrink:0;position:sticky;top:0}.profile__header-inner{align-items:center;gap:var(--space-3);height:100%;display:flex}.profile__content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.profile__body{gap:var(--space-4);padding:var(--space-6) 0;flex-direction:column;display:flex}.profile__card{background:var(--color-white);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-5);gap:var(--space-5);animation:slideUp var(--transition-base) ease both;flex-direction:column;display:flex}.profile__summary{border-left:3px solid var(--color-primary);padding-left:var(--space-4)}.profile__summary-text{font-size:var(--font-size-base);color:var(--color-text);line-height:var(--line-height-relaxed);margin:0}.profile__fields{gap:var(--space-3);flex-direction:column;display:flex}.profile__field{align-items:baseline;gap:var(--space-3);display:flex}.profile__field-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);flex-shrink:0;min-width:160px}.profile__field-value{font-size:var(--font-size-base);color:var(--color-text);font-weight:var(--font-weight-medium)}.profile__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}@media (width<=480px){.profile__body{padding:var(--space-4) 0}.profile__card{padding:var(--space-3)}.profile__field{gap:var(--space-1);flex-direction:column}.profile__field-label{min-width:unset;font-size:var(--font-size-xs)}.profile__summary-text{font-size:var(--font-size-sm)}}.plan__header{z-index:100;height:var(--header-height);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--color-border);background:#f5f4efbf;flex-shrink:0;position:sticky;top:0}.plan__header-inner{align-items:center;gap:var(--space-3);height:100%;display:flex}.plan__content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.plan__inner{gap:var(--space-6);padding:var(--space-6) 0;flex-direction:column;display:flex}.plan__summary-section{gap:var(--space-4);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);flex-direction:column;display:flex}.plan__target-role{gap:var(--space-1);flex-direction:column;display:flex}.plan__target-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.plan__target-value{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--color-text);font-weight:400;line-height:var(--line-height-tight);margin:0}.plan__summary-text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed);margin:0}.plan__pills-row{gap:var(--space-3);flex-direction:column;display:flex}.plan__pill-group{gap:var(--space-2);flex-direction:column;display:flex}.plan__pill-group-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.plan__pills{gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.plan__pill{font-size:var(--font-size-xs);padding:3px var(--space-3);word-break:break-word;border-radius:999px}.plan__pill--strength{color:#166534;background:#1665341a}.plan__pill--dev{color:#92400e;background:#ffc7532e}.plan__carousel-section{gap:var(--space-4);flex-direction:column;display:flex}.plan__carousel-header{justify-content:space-between;align-items:center;display:flex}.plan__blocks-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.plan__carousel-counter{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.plan__carousel-viewport{border-radius:var(--radius-md);width:100%;overflow:hidden}.plan__carousel-track{will-change:transform;touch-action:pan-y;width:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.plan__carousel-slide{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:0}.plan__block-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-4);flex-direction:column;min-height:280px;display:flex}.plan__block-header{align-items:center;gap:var(--space-2);display:flex}.plan__block-period{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-primary);background:var(--color-primary-light);padding:3px var(--space-3);border-radius:999px}.plan__block-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);padding:2px var(--space-2)}.plan__block-badge--done{color:#166534;background:#1665341a}.plan__block-goal{font-family:var(--font-display);font-size:var(--font-size-md);color:var(--color-text);font-weight:400;line-height:var(--line-height-tight);margin:0}.plan__block-section{gap:var(--space-2);flex-direction:column;display:flex}.plan__block-section--outcome{padding-top:var(--space-3);border-top:1px solid var(--color-border);margin-top:auto}.plan__block-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.plan__block-steps{padding-left:var(--space-4);gap:var(--space-1);flex-direction:column;margin:0;display:flex}.plan__block-step{font-size:var(--font-size-sm);color:var(--color-text);line-height:var(--line-height-normal)}.plan__block-result-text{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed);margin:0}.plan__carousel-controls{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.plan__carousel-btn{border:1px solid var(--color-border);background:var(--color-white);width:44px;height:44px;color:var(--color-text);font-size:var(--font-size-base);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.plan__carousel-btn:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.plan__carousel-btn:disabled{opacity:.3;cursor:default}.plan__carousel-dots{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.plan__carousel-dot{background:var(--color-border);cursor:pointer;width:12px;height:12px;transition:background var(--transition-fast), transform var(--transition-fast);box-sizing:content-box;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;flex-shrink:0;padding:0}.plan__carousel-dot--active{background:var(--color-primary);transform:scale(1.25)}@media (width<=480px){.plan__inner{padding:var(--space-4) 0;gap:var(--space-4)}.plan__summary-section,.plan__block-card{padding:var(--space-3)}.plan__block-card{min-height:240px}.plan__target-value{font-size:var(--font-size-base)}.plan__carousel-controls{gap:var(--space-2)}.plan__carousel-dots{gap:var(--space-3)}}.motivation__scores{gap:var(--space-3);flex-direction:column;display:flex}.motivation__score-row{align-items:center;gap:var(--space-3);display:flex}.motivation__score-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);flex-shrink:0;min-width:120px}.motivation__score-bar{background:var(--color-bg);border-radius:999px;flex:1;height:8px;overflow:hidden}.motivation__score-fill{background:var(--color-primary);height:100%;transition:width var(--transition-base) ease;border-radius:999px}.motivation__score-fill--dominant{background:var(--color-primary)}.motivation__score-value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);text-align:right;min-width:2rem}.motivation__dominant-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);padding:2px var(--space-3);margin-left:var(--space-2);background:#5754ff14;border:1px solid #5754ff33;border-radius:999px;display:inline-block}@media (width<=480px){.motivation__score-label{min-width:90px;font-size:var(--font-size-xs)}}.login-page{min-height:100dvh;padding:calc(var(--space-6) + env(safe-area-inset-top,0px)) max(var(--space-4), env(safe-area-inset-right,0px)) calc(var(--space-6) + env(safe-area-inset-bottom,0px)) max(var(--space-4), env(safe-area-inset-left,0px));background:var(--color-bg);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-white);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:var(--space-8);gap:var(--space-6);flex-direction:column;display:flex}.login-logo{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.login-logo__icon{height:var(--font-size-2xl);width:var(--font-size-2xl)}.login-logo__title{font-family:var(--font-display);font-size:var(--font-size-2xl);background:linear-gradient(135deg, var(--color-primary), #7b79ff);-webkit-text-fill-color:transparent;letter-spacing:-.01em;-webkit-background-clip:text;background-clip:text;font-weight:400}.login-logo__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.login-invite-message{font-size:var(--font-size-sm);color:var(--color-text);text-align:center;line-height:1.5}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-field{gap:var(--space-1);flex-direction:column;display:flex}.login-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.login-field__input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:48px;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text);background:var(--color-white);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.login-field__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.login-field__input--error{border-color:var(--color-error)}.login-field__input--error:focus{box-shadow:0 0 0 3px #e74c3c1a}.login-field__input:disabled{opacity:.6;cursor:not-allowed}.login-field__error{font-size:var(--font-size-xs);color:var(--color-error)}.login-form__error{font-size:var(--font-size-sm);color:var(--color-error);text-align:center}.login-submit{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);background:var(--gradient-primary);color:var(--color-white);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--transition-fast);margin-top:var(--space-2);-webkit-tap-highlight-color:transparent;border:none}.login-submit:hover:not(:disabled){opacity:.9}.login-submit:disabled{opacity:.5;cursor:not-allowed}.login-switch{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.login-switch__link{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;text-underline-offset:2px;transition:color var(--transition-fast);background:0 0;border:none;padding:0;text-decoration:underline}.login-switch__link:hover{color:var(--color-primary-hover)}.cabinet{padding:var(--space-10) var(--space-4);animation:fadeIn var(--transition-base) ease both;flex:1;overflow-y:auto}.cabinet__inner{gap:var(--space-8);flex-direction:column;max-width:800px;margin:0 auto;display:flex}.cabinet__header{gap:var(--space-1);flex-direction:column;display:flex}.cabinet__welcome{font-family:var(--font-display);font-size:var(--font-size-2xl);color:var(--color-text);letter-spacing:-.01em;font-weight:400}.cabinet__welcome-name{color:var(--color-primary)}.cabinet__welcome-sub{font-size:var(--font-size-md);color:var(--color-text-muted)}.cabinet__prep-banner{border-radius:var(--radius-lg);animation:slideUp var(--transition-base) ease both;background:#fff8e8;border:1px solid #ffc75373;align-items:flex-start;gap:11px;padding:13px 16px;display:flex}.cabinet__prep-icon{flex-shrink:0;margin-top:2px;font-size:1.25rem;line-height:1}.cabinet__prep-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#8a6500;margin-bottom:3px}.cabinet__prep-desc{font-size:var(--font-size-xs);color:#8a6500;line-height:1.5}.cabinet__prep-desc strong{font-weight:var(--font-weight-semibold)}.cabinet__session-card-hero{background:var(--color-primary);animation:slideUp var(--transition-base) ease both;cursor:pointer;border-radius:18px;padding:26px 28px 22px;transition:background .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1);animation-delay:60ms;position:relative;overflow:hidden}.cabinet__session-card-hero:hover{background:var(--color-primary-hover,#3e3bdc);transform:translateY(-2px);box-shadow:0 12px 32px #3e3e3e1f}.cabinet__session-card-hero:active{transform:translateY(0);box-shadow:0 4px 12px #3e3e3e14}.cabinet__session-card-hero:before{content:"";pointer-events:none;background:#ffffff12;border-radius:50%;width:200px;height:200px;position:absolute;top:-40px;right:-40px}.cabinet__session-card-hero:after{content:"";pointer-events:none;background:#ffffff0d;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-50px;right:60px}.cabinet__session-card-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.cabinet__session-tag{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:#ffffff8c;align-items:center;gap:5px;margin-bottom:6px;display:inline-flex}.cabinet__session-heading{color:#fff;letter-spacing:-.02em;font-size:clamp(1rem,.95rem + .35vw,1.125rem);font-weight:700;line-height:1.25}.cabinet__session-badge{font-size:var(--font-size-xs);color:#ffffffe6;white-space:nowrap;background:#ffffff2e;border:1px solid #ffffff40;border-radius:999px;flex-shrink:0;padding:4px 12px;font-weight:550}.cabinet__deliverables{grid-template-columns:1fr 1fr;gap:5px 20px;margin-bottom:18px;display:grid}.cabinet__deliv-item{font-size:var(--font-size-xs);color:#fffc;align-items:center;gap:7px;line-height:1.4;display:flex}.cabinet__deliv-check{background:#fff3;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.cabinet__deliv-check svg{width:10px;height:10px}.cabinet__deliv-check--special{background:#ffc75340}.cabinet__deliv-item--special{opacity:.85}.cabinet__session-footer{border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;display:flex}.cabinet__session-benefits{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.cabinet__benefit-chip{font-size:var(--font-size-xs);color:#fff9;align-items:center;gap:5px;display:flex}.cabinet__btn-start{color:var(--color-primary);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;font-weight:650;font-family:var(--font-family);background:#fff;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:12px 24px;transition:box-shadow .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),background .18s cubic-bezier(.16,1,.3,1);display:flex}.cabinet__btn-start:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #0000002e}.cabinet__btn-start:active:not(:disabled){box-shadow:none;transform:translateY(0)}.cabinet__btn-start:disabled{opacity:.6;cursor:not-allowed}.cabinet__sessions-section{gap:var(--space-4);flex-direction:column;display:flex}.cabinet__section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.cabinet__session-list{gap:var(--space-2);flex-direction:column;display:flex}.cabinet__session-card{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);animation:slideUp var(--transition-base) ease both;display:flex}.cabinet__session-card:first-child{animation-delay:0s}.cabinet__session-card:nth-child(2){animation-delay:40ms}.cabinet__session-card:nth-child(3){animation-delay:80ms}.cabinet__session-card:nth-child(4){animation-delay:.12s}.cabinet__session-card:nth-child(5){animation-delay:.16s}.cabinet__session-card:nth-child(n+6){animation-delay:.2s}.cabinet__session-card--clickable{cursor:pointer}.cabinet__session-card--clickable:hover,.cabinet__session-card--clickable:focus-visible{box-shadow:var(--shadow-md);border-color:var(--color-border);outline:none;transform:translate(4px)}.cabinet__session-card--clickable:hover .cabinet__resume-icon{color:var(--color-primary);transform:translate(4px)}.cabinet__session-row-left{align-items:center;gap:var(--space-4);min-width:0;display:flex}.cabinet__status-dot{border-radius:9999px;flex-shrink:0;width:8px;height:8px}.cabinet__status-dot--complete{background:var(--color-success,#2e7d32)}.cabinet__status-dot--partial{background:#ffb930}.cabinet__session-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.cabinet__session-date{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text)}.cabinet__session-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.cabinet__session-actions{color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.cabinet__resume-icon{transition:all var(--transition-fast)}.cabinet__loading-text{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-medium)}.cabinet__session-card--skeleton{gap:var(--space-2);pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.cabinet__skeleton-text{background:var(--color-border);border-radius:var(--radius-sm);animation:1.5s ease-in-out infinite pulse}.cabinet__skeleton-text--main{width:140px;height:16px}.cabinet__skeleton-text--sub{opacity:.7;width:80px;height:12px}.cabinet__empty-state{text-align:center;padding:var(--space-10) var(--space-4);background:var(--color-white);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);flex-direction:column;align-items:center;display:flex}.cabinet__empty-icon{color:var(--color-border);margin-bottom:var(--space-4)}.cabinet__empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.cabinet__empty-subtitle{font-size:var(--font-size-sm)}.cabinet__error{padding:var(--space-3) var(--space-4);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:var(--font-size-sm);background:#e74c3c1a}@media (width<=768px){.cabinet__deliverables{grid-template-columns:1fr}.cabinet__session-card-hero{padding:20px 18px 18px}.cabinet__session-footer{flex-direction:column;align-items:flex-start;gap:12px}.cabinet__btn-start{justify-content:center;width:100%}}@media (width<=480px){.cabinet{padding:var(--space-6) var(--space-3)}.cabinet__welcome{font-size:var(--font-size-xl)}.cabinet__session-card{padding:var(--space-3) var(--space-4)}}.bottom-tab-bar{display:none}@media (width<=768px){.bottom-tab-bar{z-index:300;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-white);border-top:1px solid var(--color-border);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-tab-bar__tab{color:var(--color-text-muted);cursor:pointer;padding:var(--space-1) 0;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.bottom-tab-bar__tab--active{color:var(--color-primary)}.bottom-tab-bar__tab--disabled{opacity:.4;cursor:not-allowed}.bottom-tab-bar__icon{flex-shrink:0;width:22px;height:22px}.bottom-tab-bar__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1}.bottom-tab-bar__backdrop{z-index:299;animation:fadeIn var(--transition-fast) ease both;background:#0000004d;position:fixed;inset:0}.bottom-tab-bar__sheet{bottom:calc(56px + env(safe-area-inset-bottom,0px));left:var(--space-3);right:var(--space-3);z-index:301;background:var(--color-white);border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-lg);padding:var(--space-2) 0;animation:sheetSlideUp var(--transition-base) ease both;position:fixed}.bottom-tab-bar__sheet-item{align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:0 var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;border-radius:0;display:flex}.bottom-tab-bar__sheet-item:active{background:var(--color-primary-light)}.bottom-tab-bar__sheet-item--active{color:var(--color-primary)}.bottom-tab-bar__sheet-item--disabled{opacity:.4;cursor:not-allowed}.bottom-tab-bar__sheet-item--disabled:active{background:0 0}.bottom-tab-bar__sheet-item--danger{color:var(--color-error)}.bottom-tab-bar__sheet-icon{flex-shrink:0;width:20px;height:20px}.bottom-tab-bar__sheet-separator{background:var(--color-border);height:1px;margin:var(--space-1) 0}@keyframes sheetSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:109;opacity:0;pointer-events:none;background:#0000004d;transition:opacity .25s cubic-bezier(.16,1,.3,1);position:fixed;inset:0}.sidebar-overlay--open{opacity:1;pointer-events:all}.sidebar{background:var(--color-white);border-right:1px solid var(--color-border);z-index:110;flex-direction:column;width:240px;height:100dvh;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar__logo{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:20px 20px 18px;display:flex}.sidebar__logo-icon{flex-shrink:0;width:28px;height:28px}.sidebar__logo-text{font-size:var(--font-size-sm);letter-spacing:-.02em;color:var(--color-text);font-weight:700}.sidebar__logo-accent{color:var(--color-primary)}.sidebar__main{flex-direction:column;flex:1;gap:1px;padding:12px 10px;display:flex;overflow-y:auto}.sidebar__item{color:var(--color-text-muted);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-weight:500;transition:background .16s cubic-bezier(.16,1,.3,1),color .16s cubic-bezier(.16,1,.3,1);display:flex}.sidebar__item:hover{background:var(--color-bg);color:var(--color-text)}.sidebar__item--active{background:color-mix(in oklch, var(--color-primary) 10%, white);color:var(--color-primary)}.sidebar__item--active svg{stroke:var(--color-primary)}.sidebar__item--disabled{opacity:.4;cursor:not-allowed}.sidebar__item--disabled:hover{color:inherit;background:0 0}.sidebar__item--danger:hover{color:var(--color-error)}.sidebar__icon{flex-shrink:0;width:16px;height:16px}.sidebar__label{white-space:nowrap}.sidebar__separator{background:var(--color-border);height:1px;margin:0 20px}.sidebar__footer{padding:14px 10px}.sidebar__user{border-radius:10px;align-items:center;gap:10px;margin-bottom:4px;padding:8px 12px;display:flex}.sidebar__user-avatar{background:var(--color-primary);color:#fff;width:32px;height:32px;font-size:var(--font-size-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.sidebar__user-info{flex:1;min-width:0}.sidebar__user-name{font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar__user-role{font-size:var(--font-size-xs);color:var(--color-text-muted)}@media (width>=900px){.sidebar{transform:translate(0)}.sidebar-overlay{display:none}}.app{background:var(--color-bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app__header{z-index:100;height:auto;min-height:var(--header-height);-webkit-backdrop-filter:blur(16px)saturate(180%);border-bottom:1px solid var(--color-border);transition:box-shadow var(--transition-base);background:#f5f4efbf;flex-shrink:0;position:sticky;top:0}.app__header--scrolled{box-shadow:var(--shadow-md)}.app__header-inner{height:var(--header-height);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.app__header-left{justify-self:start}.app__header-center{justify-self:center}.app__header-right{justify-self:end;align-items:center;gap:var(--space-2);display:flex;position:relative}.app__logo{align-items:center;gap:var(--space-2);display:flex}.app__logo-icon{height:var(--font-size-xl);width:var(--font-size-xl)}.app__title{font-family:var(--font-display);font-size:var(--font-size-lg);color:#3c3c3c;letter-spacing:-.01em;font-weight:400}.app__plan-btn{height:36px;padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap;border:none}.app__plan-btn:hover{opacity:.9}.app__plan-btn-short{display:none}.app__avatar{background:var(--gradient-primary);color:#fff;width:44px;height:44px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;transition:opacity var(--transition-fast);-webkit-user-select:none;user-select:none;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.app__avatar:hover{opacity:.9}.app__dropdown{border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);padding:var(--space-1) 0;z-index:200;background:#fff;position:absolute;top:calc(100% + 8px);right:0}.app__dropdown-item{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:0 var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;display:flex}.app__dropdown-item:hover{background:var(--color-primary-light)}.app__dropdown-icon{font-size:var(--font-size-base);text-align:center;flex-shrink:0;width:20px}.app__dropdown-separator{background:var(--color-border);height:1px;margin:var(--space-1) 0}.app__progress-container{width:100%;padding:var(--space-2) var(--space-4) var(--space-3);gap:var(--space-2);background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.app__progress-labels{font-size:var(--font-size-sm);color:var(--color-text-muted);justify-content:space-between;align-items:center;display:flex}.app__progress-label-main{font-weight:var(--font-weight-medium)}.app__progress-segments{gap:4px;width:100%;height:4px;display:flex}.app__progress-segment{background:var(--color-border);border-radius:2px;flex:1;overflow:hidden}.app__progress-segment-fill{background:var(--color-primary);height:100%;transition:width var(--transition-base) ease-out}.app__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app__chat{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;flex:1;overflow:hidden auto}.app__messages{gap:var(--space-4);padding-top:var(--space-6);padding-bottom:var(--space-6);flex-direction:column;min-height:100%;display:flex}.app__scroll-anchor{flex-shrink:0;height:1px}.app__input-area{animation:slideUp var(--transition-base) ease both;flex-shrink:0}.app__bottom-spacer{height:calc(var(--space-4) + env(safe-area-inset-bottom,0px));flex-shrink:0}.app__loading-skeleton{gap:var(--space-3);animation:fadeIn var(--transition-base) ease both;flex-direction:column;align-self:flex-start;display:flex}.app__skeleton-bubble{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--color-border) 25%, #ffffff80 50%, var(--color-border) 75%);background-size:200% 100%;width:240px;height:48px;animation:1.5s ease-in-out infinite shimmer}.app__skeleton-bubble--short{width:160px;height:36px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.app__flow-toast{bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));z-index:200;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:toastSlideUp var(--transition-base) ease both;max-width:calc(100vw - var(--space-8));display:flex;position:fixed;left:50%;transform:translate(-50%)}.app__flow-toast-icon{font-size:var(--font-size-base);flex-shrink:0}.app__error-toast{bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));z-index:200;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--color-error);color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:toastSlideUp var(--transition-base) ease both;max-width:calc(100vw - var(--space-8));display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.app__error-text{line-height:var(--line-height-normal)}.app__error-dismiss{width:44px;height:44px;color:var(--color-white);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast);background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app__error-dismiss:hover{background:#ffffff59}.app__error-progress{border-radius:0 0 var(--radius-md) var(--radius-md);background:#fff6;height:3px;animation:linear forwards toastCountdown;position:absolute;bottom:0;left:0}@keyframes toastCountdown{0%{width:100%}to{width:0%}}@keyframes toastSlideUp{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}:root{--bottom-tab-bar-height:0px}@media (width<=768px){:root{--bottom-tab-bar-height:calc(56px + env(safe-area-inset-bottom,0px))}}.app__hamburger{border-radius:var(--radius-sm);cursor:pointer;width:36px;height:36px;color:var(--color-text);transition:background var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app__hamburger:hover{background:var(--color-primary-light)}@media (width>=900px){.app{margin-left:240px}.app__hamburger,.app__logo,.app__avatar{display:none}}@media (width<=768px){.app__messages{gap:var(--space-3)}.app__avatar{display:none}.app__error-toast,.app__flow-toast{bottom:calc(var(--bottom-tab-bar-height) + var(--space-4))}.app__bottom-spacer{height:calc(var(--space-4) + var(--bottom-tab-bar-height))}.app__messages{padding-bottom:calc(var(--space-6) + var(--bottom-tab-bar-height))}}@media (width<=480px){.app__plan-btn-full{display:none}.app__plan-btn-short{display:inline}.app__title{font-size:var(--font-size-base)}.app__messages{padding-top:var(--space-4);padding-bottom:var(--space-4)}.chat-container{padding:0 var(--space-3)}.app__dropdown{min-width:200px;right:-8px}.app__error-toast,.app__flow-toast{left:var(--space-3);right:var(--space-3);max-width:none;transform:none}.app__progress-labels{font-size:var(--font-size-xs)}}@media (width<=360px){.app__title{font-size:var(--font-size-sm)}.app__logo-icon{height:var(--font-size-lg);width:var(--font-size-lg)}}
