:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius:.625rem;--background:oklch(13% .028 261.692);--foreground:oklch(98.5% .002 247.839);--card:oklch(21% .034 264.665);--card-foreground:oklch(98.5% .002 247.839);--muted:oklch(27.8% .033 256.848);--muted-foreground:oklch(70.7% .022 261.325);--accent:oklch(27.8% .033 256.848);--accent-foreground:oklch(98.5% .002 247.839);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.1% .027 264.364);--primary:oklch(92.8% .006 264.531);--primary-foreground:oklch(21% .034 264.665);--destructive:oklch(70.4% .191 22.216);--blue:#3b82f6;--green:#22c55e;--purple:#a855f7;--sidebar:oklch(21% .034 264.665);--sidebar-border:oklch(100% 0 0/.1);--rail-width:280px;background:var(--background);color:var(--foreground);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--background);height:100%;color:var(--foreground);margin:0}button,textarea{font:inherit;color:inherit}button{cursor:pointer}.app{background:var(--background);height:100%;min-height:100%;display:flex;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--background) 95%, transparent);-webkit-backdrop-filter:blur(12px);z-index:1;flex:none;align-items:center;gap:12px;height:64px;padding:0 16px;display:flex}.topbar h1{letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:700}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);border-radius:var(--radius);width:36px;height:36px;color:var(--foreground);background:0 0;place-items:center;transition:background .16s,border-color .16s;display:grid}.icon-btn:hover{background:var(--accent);border-color:color-mix(in oklch, var(--blue) 40%, var(--border))}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.resume,.resume-card{color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);background:0 0;align-items:center;gap:8px;padding:8px 14px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex}.resume svg,.resume-card svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.resume:hover,.resume-card:hover{background:var(--accent);border-color:color-mix(in oklch, var(--blue) 40%, var(--border))}.thread{flex:1;position:relative;overflow:auto}.empty,.messages,.composer-wrap{width:min(760px,100% - 32px);margin-inline:auto}.empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100%;padding:48px 0;animation:.32s both fade-up;display:flex;position:relative}.empty:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 1px 1px,#ffffff26 1px,#0000 0);background-size:20px 20px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 45%,#000 20%,#0000 75%)}.empty>*{z-index:1;position:relative}.empty h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15}.empty h2 .accent{color:var(--blue)}.empty p{color:var(--muted-foreground);max-width:28rem;margin:0;font-size:1.05rem;line-height:1.5}.status-row{opacity:.7;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:8px;display:flex}.status-row span{color:var(--muted-foreground);align-items:center;gap:8px;font-size:.75rem;display:inline-flex}.status-dot{border-radius:999px;width:8px;height:8px;animation:2s ease-in-out infinite pulse}.status-dot.green{background:var(--green)}.status-dot.blue{background:var(--blue)}.status-dot.purple{background:var(--purple)}.suggestions{grid-template-columns:1fr 1fr;gap:10px;width:min(560px,100%);margin-top:20px;display:grid}.suggestions button{text-align:left;background:color-mix(in oklch, var(--card) 80%, transparent);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);color:var(--foreground);padding:14px 16px;font-size:.9rem;line-height:1.4;transition:background .16s,border-color .16s,transform .16s}.suggestions button:hover{background:var(--accent);border-color:color-mix(in oklch, var(--blue) 45%, var(--border));transform:translateY(-1px)}.messages{flex-direction:column;gap:20px;margin-block:0;margin-inline:auto;padding:28px 0 12px;list-style:none;display:flex}.messages li{gap:12px;animation:.22s both fade-up;display:flex}.messages .user{justify-content:flex-end}.avatar{background:color-mix(in oklch, var(--blue) 22%, var(--card));border:1px solid color-mix(in oklch, var(--blue) 45%, var(--border));width:28px;height:28px;color:var(--blue);border-radius:999px;flex:none;place-items:center;margin-top:2px;font-size:11px;font-weight:700;display:grid}.bubble{max-width:min(680px,100%);line-height:1.55}.prose p{margin:0 0 .75em}.prose p:last-child{margin-bottom:0}.user .bubble{white-space:pre-wrap;background:var(--muted);border:1px solid var(--border);border-radius:calc(var(--radius) + 10px);padding:10px 16px}.resume-card{margin:12px 0 0;display:inline-flex}.caret{border-right:2px solid var(--blue);vertical-align:text-bottom;width:8px;height:1.1em;animation:1s step-end infinite blink;display:inline-block}.composer-wrap{flex:none;padding:8px 0 20px}.composer{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) + 12px);align-items:flex-end;gap:8px;padding:8px 8px 8px 16px;transition:border-color .16s,box-shadow .16s;display:flex}.composer:focus-within{border-color:color-mix(in oklch, var(--blue) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in oklch, var(--blue) 22%, transparent)}.composer textarea{resize:none;min-height:24px;max-height:160px;color:var(--foreground);background:0 0;border:0;outline:none;flex:1;padding:8px 0}.composer textarea::placeholder{color:var(--muted-foreground)}.composer button[type=submit]{background:var(--primary);width:36px;height:36px;color:var(--primary-foreground);border:0;border-radius:999px;place-items:center;transition:opacity .16s,transform .16s;display:grid}.composer button[type=submit]:hover:not(:disabled){transform:scale(1.04)}.composer button[type=submit]:disabled{background:var(--muted);color:var(--muted-foreground);cursor:default}.composer svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.hint,.error{text-align:center;color:var(--muted-foreground);margin:0;padding:8px 12px 0;font-size:12px}.error{color:#ffb4b4}.rail{width:var(--rail-width);background:var(--sidebar);border-right:1px solid var(--sidebar-border);flex-direction:column;flex:none;gap:12px;padding:12px;transition:width .22s,padding .22s,border-color .22s,opacity .18s;display:flex;overflow:hidden}.rail.collapsed{opacity:0;pointer-events:none;border-right-color:#0000;width:0;padding-left:0;padding-right:0}.rail-inner{width:calc(var(--rail-width) - 24px);flex-direction:column;gap:12px;height:100%;min-height:0;display:flex}.rail-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.rail-header h2{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.8rem;font-weight:600}.new-chat{border:1px solid var(--border);border-radius:var(--radius);text-align:left;background:0 0;align-items:center;gap:8px;padding:10px 12px;font-weight:500;transition:background .16s,border-color .16s;display:flex}.new-chat:hover{background:var(--accent);border-color:color-mix(in oklch, var(--blue) 40%, var(--border))}.new-chat svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.chat-list{flex-direction:column;flex:1;gap:6px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.chat-list li{align-items:stretch;gap:4px;display:flex}.chat-item{text-align:left;border:1px solid var(--border);background:var(--background);border-radius:var(--radius);flex:1;min-width:0;padding:10px 12px;transition:background .16s,border-color .16s}.chat-item:hover{background:var(--accent)}.chat-item.active{background:var(--accent);color:var(--accent-foreground);border-color:var(--primary)}.chat-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;display:block;overflow:hidden}.chat-item-meta{color:var(--muted-foreground);margin-top:2px;font-size:.7rem;display:block}.chat-delete{border-radius:var(--radius);width:32px;color:var(--muted-foreground);opacity:0;background:0 0;border:0;flex:none;place-items:center;transition:opacity .14s,background .14s,color .14s;display:grid}.chat-list li:hover .chat-delete,.chat-delete:focus-visible{opacity:1}.chat-delete:hover{background:color-mix(in oklch, var(--destructive) 18%, transparent);color:var(--destructive)}.chat-delete svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.rail-empty{color:var(--muted-foreground);margin:8px 4px;font-size:.8rem;line-height:1.4}.rail-note{color:var(--muted-foreground);margin:auto 4px 4px;font-size:.75rem;line-height:1.4}.scrim{display:none}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes blink{50%{border-color:#0000}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.rail{z-index:3;width:min(var(--rail-width), 86vw);opacity:1;border-right:1px solid var(--sidebar-border);padding:12px;transition:transform .22s,opacity .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.rail.open{transform:translate(0)}.rail.collapsed{width:min(var(--rail-width), 86vw);opacity:1;pointer-events:auto;padding:12px;transform:translate(-100%)}.rail-inner{width:100%}.scrim{z-index:2;background:oklch(0% 0 0/.55);border:0;display:block;position:fixed;inset:0}.suggestions{grid-template-columns:1fr}.status-row{gap:12px}}
