:root{--bg:#fff;--fg:#1a1a1a;--muted:#6b7280;--border:#e5e7eb;--accent:#2563eb;--accent-bg:#eff6ff;--ok:#16a34a;--warn:#d97706;--err:#dc2626;--accent-strong:#1d4ed8;--ok-bg:#ecfdf3;--warn-bg:#fffbeb;--err-bg:#fef2f2;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a1a;--shadow-accent:0 4px 12px #2563eb47;--shadow-lg:0 1px 2px #0f172a14, 0 24px 48px -12px #0f172a52, 0 8px 24px -8px #2563eb2e;--ease:cubic-bezier(.2, .8, .2, 1);--fg-inverse:#fff;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--text-2xs:.7rem;--text-xs:.78rem;--text-sm:.85rem;--text-md:.9rem;--text-base:1rem;--text-lg:1.1rem;--text-xl:1.4rem;--reading-max:880px;--reading-gutter:max(1rem, calc((100% - var(--reading-max)) / 2))}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--fg);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.app-shell{flex-direction:column;height:100%;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:50;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem 1rem;display:flex;position:sticky;top:0}.app-brand-group{flex-direction:column;justify-content:center;min-height:44px;display:inline-flex}.app-brand{color:var(--fg);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.nav-toggle{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-toggle__bars,.nav-toggle__bars:before,.nav-toggle__bars:after{content:"";background:var(--fg);border-radius:1px;width:18px;height:2px;display:block}.nav-toggle__bars{position:relative}.nav-toggle__bars:before,.nav-toggle__bars:after{position:absolute;left:0}.nav-toggle__bars:before{top:-6px}.nav-toggle__bars:after{top:6px}.app-nav-backdrop{z-index:900;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#0f172a73;border:0;padding:0;position:fixed;inset:0}.app-nav{flex-direction:column;gap:.25rem;display:none}.app-nav--open{z-index:1000;background:var(--bg);border-right:1px solid var(--border);width:min(280px,82vw);box-shadow:var(--shadow-md);padding:.75rem;display:flex;position:fixed;top:0;bottom:0;left:0}@media (prefers-reduced-motion:no-preference){.app-nav-backdrop{animation:modal-backdrop-in .18s var(--ease) both}.app-nav--open{animation:nav-drawer-in .22s var(--ease) both}}@keyframes nav-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.app-nav__head,.drawer__head{border-bottom:1px solid var(--border);background:linear-gradient(to bottom, var(--accent-bg), var(--bg));justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.app-nav--open .app-nav__head,.switcher--open .drawer__head{margin:-.75rem -.75rem 0}.app-nav__title,.drawer__title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700}.app-nav__head .app-nav__close,.drawer__head .drawer__close{width:40px;height:40px;min-height:40px;color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;padding:0;position:relative}.app-nav__head .app-nav__close>span,.drawer__head .drawer__close>span{display:none}.app-nav__head .app-nav__close:before,.app-nav__head .app-nav__close:after,.drawer__head .drawer__close:before,.drawer__head .drawer__close:after{content:"";background:currentColor;border-radius:1px;width:15px;height:1.5px;position:absolute;top:50%;left:50%}.app-nav__head .app-nav__close:before,.drawer__head .drawer__close:before{transform:translate(-50%,-50%)rotate(45deg)}.app-nav__head .app-nav__close:after,.drawer__head .drawer__close:after{transform:translate(-50%,-50%)rotate(-45deg)}.app-nav__head .app-nav__close:hover,.drawer__head .drawer__close:hover{color:var(--accent-strong);background:var(--accent-bg);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.app-nav__head .app-nav__close:focus-visible,.drawer__head .drawer__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-nav a,.app-nav button{border-radius:var(--radius-xs);min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 .5rem;text-decoration:none;display:flex}.app-nav a[aria-current=page],.app-nav button[aria-current=page]{background:var(--accent-bg);font-weight:600}.app-nav button:disabled{opacity:.6;cursor:progress}.nav-badge{background:#e5484d;border-radius:50%;flex:none;width:.5rem;height:.5rem;margin-left:.4rem}.nav-count{min-width:1.1rem;font-size:var(--text-2xs);text-align:center;color:var(--fg-inverse);border-radius:var(--radius-sm);background:#e5484d;flex:none;margin-left:.4rem;padding:0 .35rem;font-weight:700;line-height:1.15rem}.triage-banner{z-index:5;color:#6b2528;font-size:var(--text-md);border-radius:var(--radius-sm);background:#fdf2f2;border:1px solid #f3c5c6;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex;position:absolute;top:.5rem;left:.5rem;right:.5rem;box-shadow:0 6px 16px #6b252829}@keyframes triage-banner-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.triage-banner{animation:.22s ease-out triage-banner-in}}.triage-banner__text{font-weight:600}.triage-banner__actions{align-items:center;gap:.4rem;display:inline-flex}.triage-banner__view{min-height:36px;font:inherit;color:var(--fg-inverse);border-radius:var(--radius-xs);cursor:pointer;background:#e5484d;border:none;padding:0 .75rem;font-weight:600}.triage-banner__dismiss{min-width:32px;min-height:32px;font-size:var(--text-base);color:#6b2528;border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:none;line-height:1}.app-version{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap;line-height:1}.app-session{align-items:center;margin-left:auto;display:inline-flex}.app-session button{min-width:44px;min-height:44px;font:inherit;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:.4rem;padding:0 .75rem;font-weight:600;display:inline-flex}.app-session__label{display:none}.app-session__icon{width:20px;height:20px}.app-session button:hover:not(:disabled){color:var(--err);background:var(--err-bg);border-color:color-mix(in srgb, var(--err) 45%, transparent)}.app-session button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-session button:disabled{opacity:.6;cursor:progress}@media (prefers-reduced-motion:no-preference){.app-session button{transition:color .14s ease-out,background .14s ease-out,border-color .14s ease-out}}.conn{--conn-color:var(--muted);--conn-bg:color-mix(in srgb, var(--muted) 8%, transparent);font-size:var(--text-xs);color:var(--conn-color);background:var(--conn-bg);border:1px solid color-mix(in srgb, var(--conn-color) 30%, transparent);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:.4rem;padding:.2rem .6rem .2rem .5rem;font-weight:600;line-height:1;display:inline-flex}.conn__dot{background:var(--conn-color);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--conn-color) 22%, transparent);border-radius:50%}.conn--connecting{--conn-color:var(--warn);--conn-bg:var(--warn-bg)}.conn--connected{--conn-color:var(--ok);--conn-bg:var(--ok-bg)}.conn--error{--conn-color:var(--err);--conn-bg:var(--err-bg)}@media (prefers-reduced-motion:no-preference){.conn--connecting .conn__dot{animation:conn-pulse 1.2s var(--ease) infinite}}@keyframes conn-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb, var(--conn-color) 22%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--conn-color) 10%, transparent)}}.app-main{width:100%;padding:1.5rem var(--reading-gutter);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.app-main:has(.chat){padding:0}.page h1,.route-error h1{margin-top:0}.loading{color:var(--muted);text-align:center}.auth-page{justify-content:center;display:flex}.auth-lock{justify-content:center;width:100%;padding-top:2rem;display:flex}.auth-lock-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:.6rem;width:100%;max-width:360px;padding:1.75rem;display:flex;box-shadow:0 1px 3px #0f172a0f,0 10px 28px #0f172a14}.auth-lock-brand{font-size:var(--text-md);color:var(--accent);margin:0;font-weight:700}.auth-lock-title{font-size:var(--text-xl);margin:0}.auth-lock-subtitle{color:var(--muted);margin:0 0 .4rem}.auth-lock-form{flex-direction:column;gap:.6rem;display:flex}.auth-lock-label{font-size:var(--text-sm);color:var(--muted);font-weight:600}.auth-lock-input{width:100%;min-height:44px;font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 .75rem}.auth-lock-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.auth-lock-submit{min-height:44px;font:inherit;color:var(--fg-inverse);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;padding:0 1rem;font-weight:600}.auth-lock-submit:hover:not(:disabled){filter:brightness(.95)}.auth-lock-submit:disabled{opacity:.6;cursor:not-allowed}.auth-lock-alt{font:inherit;font-size:var(--text-md);color:var(--accent);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:none;align-self:center;margin-top:.25rem;padding:.4rem .5rem;text-decoration:underline}.auth-lock-alt:disabled{opacity:.6;cursor:not-allowed}.auth-lock-error,.auth-lock-note{color:var(--err);background:var(--err-bg);border:1px solid color-mix(in srgb, var(--err) 25%, transparent);border-radius:var(--radius-sm);font-size:var(--text-md);margin:0;padding:.5rem .75rem}.auth-recent h2{font-size:var(--text-sm);color:var(--muted);margin:.25rem 0 .4rem;font-weight:600}.auth-recent ul{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.auth-recent li button{min-height:36px;font:inherit;color:var(--accent);background:var(--accent-bg);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;padding:0 .7rem}.auth-hint{color:var(--muted);font-size:var(--text-md);margin:0}.access-gate{justify-content:center;align-items:flex-start;min-height:100vh;display:flex}.auth-divider{color:var(--muted);font-size:var(--text-sm);align-items:center;gap:.6rem;margin:.5rem 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}@media (width>=640px){.nav-toggle,.app-nav-backdrop,.app-nav__head{display:none}.app-nav,.app-nav--open{width:auto;box-shadow:none;background:0 0;border-right:0;flex-direction:row;gap:.5rem;margin-left:auto;padding:0;animation:none;display:flex;position:static}.app-session{margin-left:0}.app-session button{padding:0 1.1rem}.app-session__label{display:inline}.app-session__icon{display:none}}.chat{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex;position:relative}.chat__stream{scrollbar-gutter:stable;flex:1;min-height:0;padding-block-start:.75rem;padding-inline:1.25rem;overflow-y:auto}.chat__quick,.chat__error,.chat__attach-status,.chat__status,.chat__input{width:100%;padding-inline:1.25rem}.chat__list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.chat__msg{flex-direction:column;max-width:80%;display:flex}.chat__msg--user{align-self:flex-end;align-items:flex-end}.chat__msg--assistant{align-self:flex-start;align-items:flex-start}.chat__role{font-size:var(--text-2xs);color:var(--muted);margin-bottom:.15rem}.chat__bubble{border-radius:var(--radius-md);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:.5rem .75rem}@keyframes chat-bubble-fade-in{0%{opacity:0}to{opacity:1}}.chat__bubble--fade{animation:.26s ease-out chat-bubble-fade-in}.chat__msg--user .chat__bubble{background:var(--accent);color:var(--fg-inverse);border-bottom-right-radius:4px}.chat__msg--assistant .chat__bubble{background:var(--accent-bg);color:var(--fg);border-bottom-left-radius:4px}.chat__msg--assistant .chat__bubble--notice{color:var(--muted);border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:var(--radius-md);background:0 0}.chat__typing{color:var(--muted);margin:.5rem 0 0;font-style:italic}.chat__typing-dots{display:inline-flex}.chat__typing-dot{opacity:.35}@media (prefers-reduced-motion:no-preference){.chat__typing-dot{animation:1.4s ease-in-out infinite both chat-typing-blink}.chat__typing-dot:nth-child(2){animation-delay:.2s}.chat__typing-dot:nth-child(3){animation-delay:.4s}}@keyframes chat-typing-blink{0%,80%,to{opacity:.2}40%{opacity:1}}.chat__quick{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.chat__quick-btn{min-height:44px;font:inherit;color:var(--accent);background:var(--bg);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .14s var(--ease), color .14s var(--ease), border-color .14s var(--ease), box-shadow .14s var(--ease), transform .14s var(--ease);padding:0 1.1rem;font-weight:600}.chat__quick-btn:hover:not(:disabled){color:var(--fg-inverse);background:linear-gradient(180deg, var(--accent), var(--accent-strong));border-color:var(--accent-strong);box-shadow:var(--shadow-accent)}.chat__quick-btn:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:no-preference){.chat__quick{animation:chat-quick-in .22s var(--ease) both}.chat__quick-btn:hover:not(:disabled){transform:translateY(-1px)}.chat__quick-btn:active:not(:disabled){transform:translateY(0)}}@keyframes chat-quick-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat__error{border-radius:var(--radius-sm);color:var(--err);background:var(--err-bg);margin:0;padding:.5rem .75rem}.chat__input{background:var(--bg);align-items:flex-end;gap:.5rem;padding-top:.5rem;padding-bottom:.75rem;display:flex;position:sticky;bottom:0}.chat__textarea{min-height:44px;max-height:40vh;font:inherit;color:var(--fg);border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;flex:1;padding:.6rem .75rem}.chat__send{min-width:44px;min-height:44px;font:inherit;color:var(--fg-inverse);background:var(--accent);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:0 1rem}.chat__send:disabled{opacity:.5;cursor:not-allowed}.chat__attach{min-width:44px;min-height:44px;font:inherit;font-size:var(--text-lg);color:var(--accent);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.chat__attach:disabled{opacity:.5;cursor:not-allowed}.chat__hint{color:var(--muted);font-size:var(--text-sm);margin:0 0 .25rem;font-style:italic}.chat__file{align-items:center;gap:.6rem;display:flex}.chat__file-icon{font-size:var(--text-xl)}.chat__file-meta{flex-direction:column;min-width:0;display:flex}.chat__file-name{overflow-wrap:anywhere;font-weight:600}.chat__file-size{font-size:var(--text-xs);opacity:.85}.chat__file-view{font:inherit;font-size:var(--text-sm);color:var(--fg-inverse);border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #ffffff8c;flex-shrink:0;padding:.2rem .55rem}.chat__file-view:hover{background:#ffffff52}.chat__file-view:focus-visible{outline:2px solid var(--fg-inverse);outline-offset:2px}.chat--drag{outline:2px dashed var(--accent);outline-offset:-6px;border-radius:var(--radius-md)}.chat__drop{z-index:5;border-radius:var(--radius-md);pointer-events:none;background:#2563eb14;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.chat__drop p{color:var(--accent);background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-sm);margin:0;padding:.6rem 1rem;font-weight:600}.chat__attach-status{font-size:var(--text-sm);color:var(--muted,var(--fg));margin:.25rem 0 0}.chat__status-card{border:1px solid var(--border);border-left:3px solid var(--status-tone,var(--muted));border-radius:var(--radius-sm);background:var(--bg);font-size:var(--text-md);flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;margin:0 0 .5rem;padding:.5rem .75rem;display:flex}.chat__status-card--ok{--status-tone:var(--ok)}.chat__status-card--warn{--status-tone:var(--warn)}.chat__status-card--err{--status-tone:var(--err)}.chat__status-card-label{color:var(--fg);font-weight:600}.chat__status-card-value{color:var(--fg)}.chat__status-card-note{font-size:var(--text-sm);color:var(--muted);flex-basis:100%}.chat__status-card-action{min-height:44px;font:inherit;font-size:var(--text-md);color:var(--accent);background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius-sm);cursor:pointer;flex-basis:100%;align-self:flex-start;margin-top:.15rem;padding:0 .85rem}.chat__status-card-action:hover{background:var(--accent-bg)}.chat__status-card-mock{font-size:var(--text-sm);color:var(--muted);flex-basis:100%;margin:.15rem 0 0}@media (prefers-reduced-motion:no-preference){.chat__status-card{transition:border-color .16s ease-out}}@media (width<=639px){.chat:has(.chat__textarea:focus) .chat__status-card{flex-wrap:nowrap;overflow:hidden}:is(.chat:has(.chat__textarea:focus) .chat__status-card-action,.chat:has(.chat__textarea:focus) .chat__status-card-mock,.chat:has(.chat__textarea:focus) .chat__status-card-note){display:none}}.chat__quick-btn:focus-visible,.chat__textarea:focus-visible,.chat__attach:focus-visible,.chat__send:focus-visible,.chat__status-card-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cv-indicator{font:inherit;font-size:var(--text-sm);color:var(--accent);background:var(--accent-bg);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);cursor:pointer;vertical-align:baseline;transition:background .14s var(--ease), border-color .14s var(--ease), box-shadow .14s var(--ease), transform .14s var(--ease);align-items:center;gap:.3rem;margin:0 .15rem;padding:.22rem .7rem;font-weight:600;line-height:1.4;display:inline-flex}.cv-indicator:hover{background:var(--bg);border-color:var(--accent);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:no-preference){.cv-indicator:hover{transform:translateY(-1px)}.cv-indicator:active{transform:translateY(0)}}.cv-viewer__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cv-viewer__dialog{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(900px,100%);height:min(90vh,100%);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.cv-viewer__header{border-bottom:1px solid var(--border);background:linear-gradient(to bottom, var(--accent-bg), var(--bg));justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.15rem;display:flex}.cv-viewer__title{font-size:var(--text-lg);letter-spacing:-.01em;color:var(--fg);margin:0;font-weight:700}.cv-viewer__body{flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:1rem 1.15rem 1.15rem;display:flex}.cv-viewer__status{color:var(--muted);margin:auto}.cv-viewer__frame{border:1px solid var(--border);border-radius:var(--radius-md);flex:1;width:100%;min-height:0}.cv-viewer__open{color:var(--accent);font-size:var(--text-sm);align-self:center;text-decoration:underline}.cv-indicator:focus-visible,.cv-viewer__close:focus-visible,.cv-viewer__open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.cv-viewer__backdrop{animation:modal-backdrop-in .18s var(--ease) both}.cv-viewer__dialog{animation:modal-dialog-in .24s var(--ease) both}}.reasoning-modal__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.reasoning-modal__dialog{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(560px,100%);max-height:min(85vh,100%);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.reasoning-modal__header{border-bottom:1px solid var(--border);background:linear-gradient(to bottom, var(--accent-bg), var(--bg));justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.15rem;display:flex}.reasoning-modal__heading{flex-direction:column;gap:.45rem;min-width:0;display:flex}.reasoning-modal__title{font-size:var(--text-lg);letter-spacing:-.01em;color:var(--fg);margin:0;font-weight:700}.reasoning-modal__subject{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.reasoning-modal__name{font-weight:600}.reasoning-modal__close,.cv-viewer__close{width:44px;height:44px;color:var(--muted);background:color-mix(in srgb, var(--bg) 85%, transparent);border:1px solid var(--border);cursor:pointer;transition:background .16s var(--ease), color .16s var(--ease), border-color .16s var(--ease);border-radius:50%;flex-shrink:0;position:relative}.reasoning-modal__close>span,.cv-viewer__close>span{display:none}.reasoning-modal__close:before,.reasoning-modal__close:after,.cv-viewer__close:before,.cv-viewer__close:after{content:"";background:currentColor;border-radius:1px;width:16px;height:1.5px;position:absolute;top:50%;left:50%}.reasoning-modal__close:before,.cv-viewer__close:before{transform:translate(-50%,-50%)rotate(45deg)}.reasoning-modal__close:after,.cv-viewer__close:after{transform:translate(-50%,-50%)rotate(-45deg)}.reasoning-modal__close:hover,.cv-viewer__close:hover{color:var(--accent-strong);background:var(--accent-bg);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.reasoning-modal__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reasoning-modal__body{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:1rem;min-height:0;padding:1rem 1.15rem 1.15rem;display:flex;overflow-y:auto}.reasoning-modal__body::-webkit-scrollbar{width:8px}.reasoning-modal__body::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill)}.reasoning-modal__body::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--muted) 50%, transparent)}.reasoning-modal__status{color:var(--muted);text-align:center;margin:auto}.reasoning-modal__summary{color:color-mix(in srgb, var(--fg) 88%, var(--muted));background:color-mix(in srgb, var(--accent-bg) 55%, var(--bg));border:1px solid color-mix(in srgb, var(--accent) 12%, var(--border));border-radius:var(--radius-md);margin:0;padding:.85rem 1rem;line-height:1.6}.reasoning-modal__section{flex-direction:column;gap:.5rem;display:flex}.reasoning-modal__section-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:.5rem;margin:0;font-weight:700;display:flex}.reasoning-modal__section-title:before{content:"";border-radius:var(--radius-pill);background:var(--accent);width:3px;height:.9em}.reasoning-modal__list{flex-direction:column;gap:.35rem;margin:0;padding-left:1.35rem;line-height:1.5;display:flex}.reasoning-modal__list--ok li::marker{color:var(--ok)}.reasoning-modal__list--err li::marker{color:var(--err)}@media (prefers-reduced-motion:no-preference){.reasoning-modal__backdrop{animation:modal-backdrop-in .18s var(--ease) both}.reasoning-modal__dialog{animation:modal-dialog-in .24s var(--ease) both}}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.shortlist{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}@media (prefers-reduced-motion:no-preference){.shortlist-reveal{animation:shortlist-card-in .26s var(--ease) both}.shortlist-reveal .shortlist__row{animation:shortlist-row-in .28s var(--ease) both}.shortlist-reveal .shortlist__row:first-child{animation-delay:60ms}.shortlist-reveal .shortlist__row:nth-child(2){animation-delay:.12s}.shortlist-reveal .shortlist__row:nth-child(3){animation-delay:.18s}.shortlist-reveal .shortlist__row:nth-child(n+4){animation-delay:.24s}}@keyframes shortlist-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shortlist-row-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.shortlist__row{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--accent-bg) 45%, var(--bg)));box-shadow:var(--shadow-sm);border-left:3px solid color-mix(in srgb, var(--accent) 55%, transparent);transition:box-shadow .16s var(--ease), transform .16s var(--ease), border-color .16s var(--ease);flex-direction:column;gap:.4rem;padding:.7rem .8rem .7rem .95rem;display:flex}.shortlist__row:hover{box-shadow:var(--shadow-md);border-left-color:var(--accent)}@media (prefers-reduced-motion:no-preference){.shortlist__row:hover{transform:translateY(-1px)}}.shortlist__head{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;display:flex}.shortlist__rank{width:1.7em;height:1.7em;font-size:var(--text-xs);color:var(--accent);background:var(--accent-bg);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.shortlist__name{color:var(--fg);font-weight:700}.shortlist__applicant-no{color:var(--muted);font-weight:600}.shortlist__new-badge{border-radius:var(--radius-pill);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.02em;color:var(--ok);background:var(--ok-bg);vertical-align:middle;margin-left:.4rem;padding:.05rem .4rem;font-weight:700}.shortlist__position{font-size:var(--text-xs);color:var(--muted);margin:.1rem 0 0}.shortlist__position-label{font-weight:600}.shortlist__preview{font-size:var(--text-sm);color:var(--muted);overflow-wrap:anywhere;margin:0}.shortlist__brief{-webkit-line-clamp:1;line-clamp:1;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shortlist__chip{border:1px solid color-mix(in srgb, var(--chip-tone,var(--muted)) 45%, transparent);border-radius:var(--radius-pill);background:var(--chip-bg,var(--bg));box-shadow:var(--shadow-sm);align-items:baseline;gap:.4rem;margin-left:auto;padding:.22rem .6rem;display:inline-flex}.shortlist__chip--ok{--chip-tone:var(--ok);--chip-bg:var(--ok-bg)}.shortlist__chip--warn{--chip-tone:var(--warn);--chip-bg:var(--warn-bg)}.shortlist__chip--err{--chip-tone:var(--err);--chip-bg:var(--err-bg)}.shortlist__score{color:var(--fg);font-weight:700}.shortlist__score-max{color:var(--muted);font-size:.8em;font-weight:400}.shortlist__band{font-size:var(--text-xs);color:var(--chip-tone,var(--muted))}.shortlist__pending{font-size:var(--text-sm);color:var(--muted);align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.shortlist__spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:.85em;height:.85em}@keyframes shortlist-spin{to{transform:rotate(360deg)}}@keyframes shortlist-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:no-preference){.shortlist__spinner{animation:.8s linear infinite shortlist-spin}}.shortlist__pending--fade .shortlist__spinner{animation:none}.shortlist__pending--fade{animation:1.6s ease-in-out infinite shortlist-pulse}.shortlist__failed{font-size:var(--text-sm);color:var(--err);margin-left:auto}.shortlist__actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.shortlist__cv,.shortlist__reasoning{align-self:flex-start;min-height:44px}.manager{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.manager__thread{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.manager__panel{border-left:1px solid var(--border);flex:0 0 300px;width:300px;min-height:0;overflow-y:auto}.panel__guidance,.panel__empty,.panel__status,.panel__error{font-size:var(--text-md);color:var(--muted);margin:0;padding:.75rem}.panel__error{color:var(--err)}.panel__list{flex-direction:column;gap:.5rem;margin:0;padding:.5rem;list-style:none;display:flex}.panel__card{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--accent-bg) 45%, var(--bg)));border-left:3px solid color-mix(in srgb, var(--accent) 55%, transparent);box-shadow:var(--shadow-sm);transition:box-shadow .16s var(--ease), transform .16s var(--ease), border-color .16s var(--ease);flex-direction:column;gap:.5rem;padding:.7rem .8rem .7rem .95rem;display:flex}.panel__card:hover{border-left-color:var(--accent);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:no-preference){.panel__card:hover{transform:translateY(-1px)}}.panel__card-head{grid-template-columns:auto 1fr auto;align-items:start;gap:.5rem;display:grid}.panel__card-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.panel__num{font-variant-numeric:tabular-nums;color:var(--muted);font-size:var(--text-xs);padding-top:.1rem}.panel__name{min-width:0;font-weight:600;font-size:var(--text-md);overflow-wrap:break-word;line-height:1.25}.panel__rowstatus{font-size:var(--text-2xs);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-pill);white-space:nowrap;justify-self:end;padding:.15rem .5rem}.panel__score{background:var(--chip-bg,var(--bg));border:1px solid color-mix(in srgb, var(--chip-tone,var(--border)) 45%, transparent);border-radius:var(--radius-pill);min-height:32px;box-shadow:var(--shadow-sm);align-self:start;align-items:center;gap:.4rem;padding:.2rem .7rem;display:inline-flex}.panel__score--ok{--chip-tone:var(--ok);--chip-bg:var(--ok-bg)}.panel__score--warn{--chip-tone:var(--warn);--chip-bg:var(--warn-bg)}.panel__score--err{--chip-tone:var(--err);--chip-bg:var(--err-bg)}.panel__score-num{font-weight:700;font-size:var(--text-base);color:var(--fg);font-variant-numeric:tabular-nums;line-height:1}.panel__score-band{font-size:var(--text-xs);color:var(--chip-tone,var(--muted));line-height:1}.panel__cv,.panel__reason{min-height:44px;font:inherit;font-size:var(--text-sm);color:var(--accent);background:var(--accent-bg);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .14s var(--ease), border-color .14s var(--ease), box-shadow .14s var(--ease), transform .14s var(--ease);align-items:center;gap:.3rem;padding:0 .8rem;font-weight:600;display:inline-flex}.panel__cv:hover:not(:disabled),.panel__reason:hover:not(:disabled){background:var(--bg);border-color:var(--accent);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:no-preference){.panel__cv:hover:not(:disabled),.panel__reason:hover:not(:disabled){transform:translateY(-1px)}}.panel__cv:focus-visible,.panel__reason:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.panel__cv:disabled,.panel__reason:disabled{color:var(--muted);cursor:default;opacity:.55}.manager__back{min-height:44px;font:inherit;font-size:var(--text-sm);color:var(--accent);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:.3rem;margin:.25rem .5rem 0;padding:0 .4rem;font-weight:600;display:inline-flex}.manager__back-arrow{font-size:var(--text-md);line-height:1}.manager__back:hover{color:var(--accent-strong)}.manager__back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.manager__thread-bar{justify-content:space-between;align-items:center;display:flex}.rail-drawer,.panel-drawer{z-index:1000;background:var(--bg);width:min(320px,88vw);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:fixed;top:0;bottom:0}.rail-drawer{border-right:1px solid var(--border);left:0}.panel-drawer{border-left:1px solid var(--border);right:0}.rail-drawer .rail{background:var(--bg);border-bottom:0;border-right:0;flex:1;width:auto}.panel-drawer .manager__panel{border-left:0;flex:1;width:auto}@media (prefers-reduced-motion:no-preference){.rail-drawer{animation:nav-drawer-in .22s var(--ease) both}.panel-drawer{animation:nav-drawer-in-right .22s var(--ease) both}}@keyframes nav-drawer-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.rail{background:var(--accent-bg);border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.rail__list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.rail__group{margin-top:.5rem}.rail__group-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0 0 .25rem;padding:0 .25rem;font-weight:700}.rail__row{width:100%;min-height:44px;font:inherit;text-align:left;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .14s var(--ease), border-color .14s var(--ease), transform .14s var(--ease);align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.rail__row:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:var(--shadow-md)}.rail__row--active{border-color:var(--accent);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:no-preference){.rail__row:hover{transform:translateY(-1px)}}.rail__row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail__row--disabled{cursor:default;opacity:.7}.rail__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.rail__status{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap}.rail__waiting{font-size:var(--text-2xs);color:var(--warn);background:var(--warn-bg);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);border-radius:var(--radius-pill);white-space:nowrap;padding:.1rem .4rem;font-weight:700}.rail__unread{min-width:1.25rem;height:1.25rem;font-size:var(--text-2xs);color:var(--fg-inverse);background:var(--accent);border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:0 .35rem;font-weight:700;display:inline-flex}.rail__closed{margin-top:.5rem}.rail__closed>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.rail__empty,.rail__error{font-size:var(--text-sm);color:var(--muted);padding:.5rem}.rail__error{color:var(--err)}@media (width>=640px){.manager{flex-direction:row}.rail{border-bottom:none;border-right:1px solid var(--border);flex:0 0 280px;width:280px}}.switcher{background:var(--accent-bg);border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.switcher__title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0;padding:0 .25rem;font-weight:700}.switcher__new{width:100%;min-height:40px;font:inherit;font-weight:700;font-size:var(--text-sm);color:var(--fg-inverse);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .14s var(--ease), box-shadow .14s var(--ease), transform .14s var(--ease);justify-content:center;align-items:center;gap:.3rem;padding:0 .75rem;display:inline-flex}.switcher__new:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:no-preference){.switcher__new:hover:not(:disabled){transform:translateY(-1px)}}.switcher__new:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switcher__new:disabled{opacity:.6;cursor:progress}.switcher__list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.switcher__row{width:100%;min-height:44px;font:inherit;text-align:left;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .14s var(--ease), border-color .14s var(--ease), transform .14s var(--ease);align-items:baseline;gap:.4rem;padding:.4rem .6rem;display:flex}.switcher__row:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:var(--shadow-md)}.switcher__row--active{border-color:var(--accent);box-shadow:var(--shadow-md)}@media (prefers-reduced-motion:no-preference){.switcher__row:hover{transform:translateY(-1px)}}.switcher__row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switcher__row:disabled{opacity:.6;cursor:default}.switcher__id{font-size:var(--text-2xs);color:var(--accent);font-weight:700}.switcher__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}@media (width>=640px){.switcher{border-bottom:none;border-right:1px solid var(--border);flex:0 0 200px;width:200px}}.switcher--drawer{display:none}.switcher--open{z-index:1000;background:var(--bg);border-bottom:0;border-right:1px solid var(--border);width:min(280px,82vw);box-shadow:var(--shadow-md);display:flex;position:fixed;top:0;bottom:0;left:0}@media (prefers-reduced-motion:no-preference){.switcher--open{animation:nav-drawer-in .22s var(--ease) both}}.candidate-card{background:var(--accent-bg);border:1px solid var(--border);border-radius:var(--radius-md);margin:.75rem 1rem 0;padding:.6rem .9rem}.candidate-card__name{margin:0 0 .4rem;font-weight:700}.candidate-card__rows{flex-wrap:wrap;gap:.4rem 1.5rem;margin:0;display:flex}.candidate-card__row{align-items:baseline;gap:.35rem;display:flex}.candidate-card__row dt{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:0}.candidate-card__row dd{font-size:var(--text-sm);margin:0;font-weight:600}.manager-console{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative}
