:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2937}*{box-sizing:border-box}body{margin:0;background:#fff;color:#111827}.page{max-width:1140px;margin:0 auto;padding:36px 20px 48px}.hero{min-height:258px;margin-bottom:20px;position:relative;display:flex;flex-direction:column;justify-content:flex-start;padding-right:220px}.hero-actions{margin-top:0;display:flex;gap:10px;justify-content:flex-end;position:absolute;right:0;top:176px}.doc-btn{border:1px solid transparent;border-radius:999px;padding:10px 16px;font-weight:700;font-size:.9rem;letter-spacing:.01em;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;text-decoration:none}.doc-btn:hover{transform:translateY(-1px);filter:saturate(1.06)}.doc-btn:active{transform:translateY(0)}.doc-btn-resume{color:#fff;background:linear-gradient(135deg,#0ea5e9,#3b82f6);box-shadow:0 10px 22px #3b82f640}.doc-btn-portfolio{color:#fff;background:linear-gradient(135deg,#10b981,#14b8a6);box-shadow:0 10px 22px #14b8a640}.doc-btn-github{color:#fff;background:linear-gradient(135deg,#111827,#334155);box-shadow:0 10px 22px #1e293b47}@media (max-width: 900px){.hero{padding-right:0}.hero-actions{position:static;margin-top:14px;justify-content:flex-start}}.hero-line{margin:0 0 8px;font-size:2rem;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:#111827}.cursor{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.chat-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;overflow:hidden}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid #f1f5f9}.chat-header h2{margin:0;font-size:1rem;color:#111827}.chat-header select{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;background:#fff;color:#111827}.messages{height:460px;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;background:#fafafa}.msg{border-radius:14px;padding:12px 14px;max-width:88%}.msg pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:.95rem;line-height:1.45}.msg.user{align-self:flex-end;background:#f3f4f6;border:1px solid #e5e7eb}.msg.assistant{align-self:flex-start;background:#fff;border:1px solid #e5e7eb}.mode-tag{display:inline-block;margin-bottom:6px;font-size:.72rem;color:#64748b}.meta-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.confidence-badge{border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:800;letter-spacing:.03em}.confidence-high{background:#dcfce7;color:#166534}.confidence-medium{background:#fef3c7;color:#92400e}.confidence-low{background:#ffe4e6;color:#9f1239}.confidence-none{background:#e5e7eb;color:#374151}.typing{min-width:120px}.typing-label{font-size:.78rem;color:#64748b;margin-bottom:6px}.typing-dots{display:inline-flex;align-items:center;gap:5px}.typing-dots span{width:8px;height:8px;border-radius:50%;background:#94a3b8;animation:typingDot 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typingDot{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-3px);opacity:1}}.hint{color:#64748b;font-size:.92rem}.composer{display:flex;gap:10px;padding:14px;border-top:1px solid #f1f5f9;background:#fff}.composer input{flex:1;border-radius:12px;border:1px solid #d1d5db;background:#fff;color:#111827;padding:12px 14px;outline:none}.composer input:focus{border-color:#10a37f;box-shadow:0 0 0 3px #10a37f1f}.composer button{border-radius:12px;border:0;background:#10a37f;color:#fff;font-weight:700;padding:0 18px;cursor:pointer}.composer button:disabled{opacity:.6;cursor:default}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.pdf-modal{width:min(1100px,96vw);height:min(86vh,900px);background:#fff;border-radius:14px;border:1px solid #e5e7eb;overflow:hidden;display:flex;flex-direction:column}.pdf-modal-header{height:56px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 14px}.pdf-modal-actions{display:flex;align-items:center;gap:8px}.pdf-link,.close-btn{border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;padding:7px 10px;font-size:.88rem;cursor:pointer;text-decoration:none}.close-btn:hover,.pdf-link:hover{border-color:#10a37f}.pdf-frame{width:100%;height:calc(100% - 56px);border:0}
