.navbar[data-v-925fc722]{position:fixed;inset-block-start:0;inset-inline:0;z-index:var(--z-nav);height:calc(var(--nav-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--color-bg);transition:background var(--transition-normal),box-shadow var(--transition-normal),backdrop-filter var(--transition-normal)}.navbar--scrolled[data-v-925fc722]{background:#060606eb;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--color-border)}.navbar[data-v-925fc722]:not(.navbar--scrolled){backdrop-filter:none;-webkit-backdrop-filter:none}.navbar__inner[data-v-925fc722]{display:flex;align-items:center;justify-content:space-between;height:var(--nav-height);position:relative;z-index:2}.navbar__logo[data-v-925fc722]{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:-.04em;color:var(--color-text);cursor:pointer;transition:color var(--transition-fast)}.navbar__logo[data-v-925fc722]:hover,.navbar__logo-dot[data-v-925fc722]{color:var(--color-accent)}.navbar__logo[data-v-925fc722]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-sm)}.navbar__nav[data-v-925fc722]{display:flex;align-items:center;gap:2px}.navbar__link[data-v-925fc722]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.navbar__link[data-v-925fc722]:hover{color:var(--color-text);background:#ffffff0a}.navbar__link-icon[data-v-925fc722]{opacity:.7;transition:opacity var(--transition-fast),transform var(--transition-fast)}.navbar__link:hover .navbar__link-icon[data-v-925fc722]{opacity:1}.navbar__link[data-v-925fc722]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.navbar__new-chat[data-v-925fc722]{background:none;border:none;font-family:inherit;cursor:pointer}.navbar__hamburger[data-v-925fc722]{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px 6px;border-radius:var(--radius-md);transition:background var(--transition-fast)}.navbar__hamburger[data-v-925fc722]:hover{background:#ffffff0d}.navbar__hamburger[data-v-925fc722]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.bar[data-v-925fc722]{display:block;height:1.5px;background:var(--color-text);border-radius:2px;transition:transform var(--transition-normal),opacity var(--transition-fast)}.bar--top-open[data-v-925fc722]{transform:translateY(6.5px) rotate(45deg)}.bar--mid-open[data-v-925fc722]{opacity:0;transform:scaleX(0)}.bar--bot-open[data-v-925fc722]{transform:translateY(-6.5px) rotate(-45deg)}.navbar__drawer[data-v-925fc722]{position:fixed;top:var(--nav-height);left:0;right:0;z-index:calc(var(--z-nav) - 1);display:flex;flex-direction:column;gap:2px;padding:8px 24px 14px;background:#060606f2;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 4px 12px #0000004d;border-bottom:1px solid var(--color-border)}.navbar__drawer-link[data-v-925fc722]{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.navbar__drawer-link[data-v-925fc722]:hover{color:var(--color-text);background:#ffffff0a}.drawer-enter-active[data-v-925fc722]{transition:all .22s var(--ease-out)}.drawer-leave-active[data-v-925fc722]{transition:all .16s ease-in}.drawer-enter-from[data-v-925fc722],.drawer-leave-to[data-v-925fc722]{opacity:0;transform:translateY(-4px)}@media (max-width: 680px){.navbar__nav[data-v-925fc722]{display:none}.navbar__hamburger[data-v-925fc722]{display:flex}}.chat-wrapper[data-v-a54a42c2]{display:flex;flex-direction:column;flex:1;min-height:0;max-width:720px;margin:0 auto;padding:12px var(--content-pad) 0;padding-bottom:env(safe-area-inset-bottom,0px)}.messages-panel[data-v-a54a42c2]{flex:1;min-height:0;position:relative;overflow:hidden;border-radius:var(--radius-lg);background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.messages[data-v-a54a42c2]{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:24px 20px;display:flex;flex-direction:column;gap:6px}.messages[data-v-a54a42c2]::-webkit-scrollbar{width:4px}.messages[data-v-a54a42c2]::-webkit-scrollbar-track{background:transparent}.messages[data-v-a54a42c2]::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.suggestions[data-v-a54a42c2]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0;align-self:flex-start}.suggestions-label[data-v-a54a42c2]{font-size:.72rem;color:var(--color-text-muted);opacity:.6;margin-right:4px}.suggestion-btn[data-v-a54a42c2]{padding:6px 14px;font-family:var(--font-sans);font-size:.78rem;font-weight:500;color:var(--color-text-secondary);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.suggestion-btn[data-v-a54a42c2]:hover{color:var(--color-text);background:#ffffff14;border-color:#ffffff26}.turns-warning[data-v-a54a42c2]{padding:6px 12px;font-size:.7rem;color:var(--color-text-muted);text-align:center;opacity:.6}.message[data-v-a54a42c2]{display:flex;max-width:80%}.message--user[data-v-a54a42c2]{align-self:flex-end}.message--assistant[data-v-a54a42c2]{align-self:flex-start}.message--enter[data-v-a54a42c2]{animation:msgIn-a54a42c2 .25s var(--ease-out)}@keyframes msgIn-a54a42c2{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.message__bubble[data-v-a54a42c2]{padding:12px 16px;font-size:.88rem;line-height:1.65;position:relative;white-space:pre-wrap;word-break:break-word}.message--user .message__bubble[data-v-a54a42c2]{background:var(--color-accent);color:#fff;border-radius:20px 20px 6px}.message--assistant .message__bubble[data-v-a54a42c2]{background:#ffffff0f;color:var(--color-text);border-radius:20px 20px 20px 6px;border-left:2px solid rgba(59,126,244,.3)}.msg-link[data-v-a54a42c2]{color:var(--color-accent-hover);text-decoration:underline;text-decoration-color:#5a95f74d;text-underline-offset:2px;word-break:break-all;transition:text-decoration-color var(--transition-fast)}.msg-link[data-v-a54a42c2]:hover{text-decoration-color:var(--color-accent-hover)}.message--user .msg-link[data-v-a54a42c2]{color:#ffffffd9;text-decoration-color:#ffffff4d}.message--user .msg-link[data-v-a54a42c2]:hover{text-decoration-color:#ffffffb3}.message__foot[data-v-a54a42c2]{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:4px;height:16px}.message__time[data-v-a54a42c2]{font-size:.6rem;color:var(--color-text-muted);opacity:0;transition:opacity var(--transition-fast)}.message:hover .message__time[data-v-a54a42c2]{opacity:.6}.message--user .message__time[data-v-a54a42c2]{color:#fff9}.copy-btn[data-v-a54a42c2]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--color-text-muted);border-radius:4px;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.message:hover .copy-btn[data-v-a54a42c2]{opacity:.7}.copy-btn[data-v-a54a42c2]:hover{opacity:1!important;color:var(--color-text)}.copy-btn--copied[data-v-a54a42c2]{opacity:1!important;color:#34d399}.check-icon[data-v-a54a42c2]{animation:checkIn-a54a42c2 .3s var(--ease-out)}@keyframes checkIn-a54a42c2{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.typing-indicator[data-v-a54a42c2]{display:flex;align-items:center;gap:5px;padding:10px 16px;align-self:flex-start}.typing-dot[data-v-a54a42c2]{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);animation:typingPulse-a54a42c2 1.4s infinite ease-in-out}.typing-dot[data-v-a54a42c2]:nth-child(2){animation-delay:.15s}.typing-dot[data-v-a54a42c2]:nth-child(3){animation-delay:.3s}@keyframes typingPulse-a54a42c2{0%,80%,to{opacity:.2;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.fade-enter-active[data-v-a54a42c2]{transition:opacity .2s}.fade-leave-active[data-v-a54a42c2]{transition:opacity .15s}.fade-enter-from[data-v-a54a42c2],.fade-leave-to[data-v-a54a42c2]{opacity:0}.error-toast[data-v-a54a42c2]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:10px;padding:8px 14px;background:#1e0a0ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(239,68,68,.25);border-radius:12px;color:#fca5a5;font-size:.8rem;max-width:88%;white-space:nowrap}.toast-enter-active[data-v-a54a42c2]{transition:all .18s var(--ease-out)}.toast-leave-active[data-v-a54a42c2]{transition:all .12s ease-in}.toast-enter-from[data-v-a54a42c2],.toast-leave-to[data-v-a54a42c2]{opacity:0;transform:translate(-50%) translateY(-6px)}.toast-retry[data-v-a54a42c2]{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:1px 8px;font-size:.72rem;cursor:pointer}.toast-retry[data-v-a54a42c2]:hover{background:#ef44444d}.toast-close[data-v-a54a42c2]{background:none;border:none;color:#fca5a5;font-size:1rem;cursor:pointer;opacity:.5;line-height:1}.toast-close[data-v-a54a42c2]:hover{opacity:1}.input-area[data-v-a54a42c2]{display:flex;align-items:flex-end;gap:8px;margin-top:10px;padding:10px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0}.input-area[data-v-a54a42c2]:focus-within{border-color:#3b7ef466;box-shadow:0 0 0 3px #3b7ef414}.chat-input[data-v-a54a42c2]{flex:1;background:transparent;border:none;outline:none;color:var(--color-text);font-family:var(--font-sans);font-size:.88rem;line-height:1.5;resize:none;max-height:120px;padding:4px 0}.chat-input[data-v-a54a42c2]::placeholder{color:var(--color-text-muted)}.chat-input[data-v-a54a42c2]:disabled{opacity:.4}.send-btn[data-v-a54a42c2]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff0f;color:var(--color-text-secondary);border:1px solid rgba(255,255,255,.08);border-radius:50%;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);flex-shrink:0}.send-btn[data-v-a54a42c2]:hover:not(:disabled){background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:scale(1.06)}.send-btn[data-v-a54a42c2]:disabled{opacity:.2;cursor:not-allowed}.input-hint[data-v-a54a42c2]{margin:6px 4px 0;font-size:.65rem;color:var(--color-text-muted);opacity:.4;flex-shrink:0}@media (max-width: 640px){.chat-wrapper[data-v-a54a42c2]{padding:8px 10px 0;padding-bottom:env(safe-area-inset-bottom,0px)}.messages[data-v-a54a42c2]{padding:16px 10px;gap:4px}.message[data-v-a54a42c2]{max-width:90%}.message__bubble[data-v-a54a42c2]{font-size:.84rem;padding:10px 14px}.input-area[data-v-a54a42c2]{margin-top:8px;padding:10px 12px}.chat-input[data-v-a54a42c2]{font-size:.88rem;min-height:44px;padding:8px 0}.send-btn[data-v-a54a42c2]{width:40px;height:40px}.input-hint[data-v-a54a42c2]{display:none}.suggestions[data-v-a54a42c2]{padding:8px 0 4px;gap:6px}.suggestion-btn[data-v-a54a42c2]{padding:6px 12px;font-size:.76rem}}.login-page[data-v-1f9c9929]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:100;background:transparent;padding:24px}.login-card[data-v-1f9c9929]{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:24px;padding:40px 32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);animation:fadeUp-1f9c9929 .5s var(--ease-out)}@keyframes fadeUp-1f9c9929{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-hero[data-v-1f9c9929]{text-align:center}.login-title[data-v-1f9c9929]{font-family:var(--font-display);font-size:2.6rem;font-weight:700;letter-spacing:-.04em;color:var(--color-text);line-height:1}.login-subtitle[data-v-1f9c9929]{margin-top:6px;font-size:.82rem;color:var(--color-text-muted)}.visitor-btn[data-v-1f9c9929]{width:100%;padding:11px 16px;background:var(--color-accent);color:#fff;border:1.5px solid var(--color-accent);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.84rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.visitor-btn[data-v-1f9c9929]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 0 24px var(--color-accent-glow)}.name-input[data-v-1f9c9929]{width:100%;padding:10px 14px;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:.84rem;outline:none;transition:border-color var(--transition-fast)}.name-input[data-v-1f9c9929]::placeholder{color:var(--color-text-muted);opacity:.5}.name-input[data-v-1f9c9929]:focus{border-color:var(--color-accent)}.login-divider[data-v-1f9c9929]{display:flex;align-items:center;width:100%;gap:10px}.divider-line[data-v-1f9c9929]{flex:1;height:1px;background:var(--color-border)}.divider-label[data-v-1f9c9929]{font-size:.68rem;color:var(--color-text-muted);opacity:.5;letter-spacing:.04em}.portfolio-btn[data-v-1f9c9929]{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:.78rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-pill);transition:all var(--transition-fast)}.portfolio-btn[data-v-1f9c9929]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.back-btn[data-v-1f9c9929]{background:none;border:none;color:var(--color-text-muted);font-family:var(--font-sans);font-size:.76rem;cursor:pointer;opacity:.5;transition:opacity var(--transition-fast)}.back-btn[data-v-1f9c9929]:hover{opacity:1}.error-msg[data-v-1f9c9929]{font-size:.76rem;color:#fca5a5;text-align:center;padding:8px 12px;background:#ef44440f;border:1px solid rgba(239,68,68,.12);border-radius:var(--radius-sm);width:100%}.waiting-box[data-v-1f9c9929]{display:flex;flex-direction:column;align-items:center;gap:10px}.waiting-text[data-v-1f9c9929]{font-size:.84rem;color:var(--color-text-secondary)}.waiting-sub[data-v-1f9c9929]{font-size:.7rem;color:var(--color-text-muted);opacity:.5}.spinner[data-v-1f9c9929]{width:28px;height:28px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin-1f9c9929 .7s linear infinite}@keyframes spin-1f9c9929{to{transform:rotate(360deg)}}.particles-canvas[data-v-cfc0386b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}#main-content[data-v-31ddef48]{display:flex;flex-direction:column;min-height:0;padding-top:calc(var(--nav-height) + env(safe-area-inset-top,0px))}.loading-splash[data-v-31ddef48]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg);z-index:200}.chat-backdrop[data-v-31ddef48]{height:100%;display:flex;flex-direction:column;overflow:hidden;transition:filter .4s var(--ease-out),opacity .4s var(--ease-out)}.chat-backdrop--dim[data-v-31ddef48]{filter:blur(3px) brightness(.35);pointer-events:none;-webkit-user-select:none;user-select:none}@media (max-width: 680px){html.mobile-menu-open #main-content{padding-top:calc(var(--nav-height) + 100px + env(safe-area-inset-top,0px))}}:root{--color-bg: #060606;--color-surface: #0d0d0d;--color-surface-raised: #141414;--color-border: #1c1c1c;--color-border-hover: #2c2c2c;--color-text: #efefef;--color-text-secondary: #868686;--color-text-muted: #737373;--color-accent: #3b7ef4;--color-accent-hover: #5a95f7;--color-accent-dim: rgba(59, 126, 244, .08);--color-accent-glow: rgba(59, 126, 244, .13);--font-display: "Archivo", system-ui, -apple-system, sans-serif;--font-sans: "Space Grotesk", system-ui, -apple-system, sans-serif;--max-width: 1100px;--nav-height: 64px;--section-gap: 80px;--content-pad: 24px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 9999px;--z-base: 10;--z-overlay: 30;--z-nav: 50;--ease-out: cubic-bezier(.16, 1, .3, 1);--transition-fast: .15s var(--ease-out);--transition-normal: .26s var(--ease-out);--transition-slow: .42s var(--ease-out)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:var(--nav-height);-webkit-text-size-adjust:100%;height:100vh;height:100dvh;overflow:hidden}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow:hidden;color-scheme:dark;height:100%}#app{height:100%;overflow:hidden}.skip-nav{position:fixed;top:-100%;left:50%;transform:translate(-50%);padding:10px 20px;background:var(--color-accent);color:#fff;font-size:.875rem;font-weight:600;border-radius:0 0 var(--radius-md) var(--radius-md);z-index:calc(var(--z-nav) + 10);transition:top var(--transition-fast);white-space:nowrap}.skip-nav:focus{top:0}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{display:block;max-width:100%}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--content-pad)}.section{padding-block:var(--section-gap);scroll-snap-align:start}.section-header{display:flex;align-items:baseline;gap:12px;margin-bottom:32px}.section-num{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--color-accent);opacity:.7}.section-label{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;transition:border-color var(--transition-normal),background var(--transition-normal)}.card:hover{border-color:var(--color-border-hover);background:var(--color-surface-raised)}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.875rem;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-primary{background:var(--color-accent);color:#fff;border:1.5px solid var(--color-accent)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:0 0 24px #3b7ef440}.btn-outline{background:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border-hover)}.btn-outline:hover{border-color:var(--color-text-muted);color:var(--color-text);background:var(--color-surface)}.tag{display:inline-flex;align-items:center;padding:3px 10px;background:var(--color-accent-dim);color:var(--color-accent);border-radius:var(--radius-sm);font-size:.72rem;font-weight:500;letter-spacing:.01em}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;scroll-snap-type:none}.reveal{opacity:1;transform:none;transition:none}}
