.navbar[data-v-43be60d1]{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),border-color var(--transition-normal)}.navbar--scrolled[data-v-43be60d1]{background:var(--color-surface-overlay);border-bottom:1px solid var(--color-border)}.navbar__inner[data-v-43be60d1]{display:flex;align-items:center;justify-content:space-between;height:var(--nav-height);position:relative;z-index:2}.navbar__logo[data-v-43be60d1]{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-43be60d1]:hover,.navbar__logo-dot[data-v-43be60d1]{color:var(--color-accent)}.navbar__logo[data-v-43be60d1]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-sm)}.navbar__nav[data-v-43be60d1]{display:flex;align-items:center;gap:2px}.navbar__link[data-v-43be60d1]{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-43be60d1]:hover{color:var(--color-text);background:#ffffff0a}.navbar__link-icon[data-v-43be60d1]{opacity:.7;transition:opacity var(--transition-fast),transform var(--transition-fast)}.navbar__link:hover .navbar__link-icon[data-v-43be60d1]{opacity:1}.navbar__link[data-v-43be60d1]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.navbar__new-chat[data-v-43be60d1],.navbar__logout[data-v-43be60d1]{background:none;border:none;font-family:inherit;cursor:pointer}.navbar__logout[data-v-43be60d1]:hover,.navbar__drawer-link.navbar__logout[data-v-43be60d1]:hover{color:#f87171}.navbar__hamburger[data-v-43be60d1]{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-43be60d1]:hover{background:#ffffff0d}.navbar__hamburger[data-v-43be60d1]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.bar[data-v-43be60d1]{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-43be60d1]{transform:translateY(6.5px) rotate(45deg)}.bar--mid-open[data-v-43be60d1]{opacity:0;transform:scaleX(0)}.bar--bot-open[data-v-43be60d1]{transform:translateY(-6.5px) rotate(-45deg)}.navbar__drawer[data-v-43be60d1]{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:var(--color-surface-overlay);border-bottom:1px solid var(--color-border)}.navbar__drawer-link[data-v-43be60d1]{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-43be60d1]:hover{color:var(--color-text);background:#ffffff0a}.drawer-enter-active[data-v-43be60d1]{transition:all .22s var(--ease-out)}.drawer-leave-active[data-v-43be60d1]{transition:all .16s ease-in}.drawer-enter-from[data-v-43be60d1],.drawer-leave-to[data-v-43be60d1]{opacity:0;transform:translateY(-4px)}@media (max-width: 680px){.navbar__nav[data-v-43be60d1]{display:none}.navbar__hamburger[data-v-43be60d1]{display:flex}}.suggestion-btn[data-v-4de0092b]{padding:8px 18px;font-family:var(--font-sans);font-size:.82rem;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),transform var(--transition-fast)}.suggestion-btn[data-v-4de0092b]:hover{color:var(--color-text);background:#ffffff14;border-color:#ffffff26;transform:translateY(-2px)}.suggestion-btn[data-v-4de0092b]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.suggestion-btn[data-v-4de0092b]{transition:none}.suggestion-btn[data-v-4de0092b]:hover{transform:none}}@media (max-width: 640px){.suggestion-btn[data-v-4de0092b]{padding:10px 16px;font-size:.8rem;min-height:40px}}.hero-welcome[data-v-c469c587]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:40px 20px;gap:12px;animation:heroFadeIn-c469c587 .4s var(--ease-out)}.hero-brand__svg[data-v-c469c587]{color:var(--color-accent);display:block;margin:0 auto}.hero-greeting[data-v-c469c587]{font-family:var(--font-display);font-size:40px;font-weight:700;color:var(--color-text);line-height:1.1;letter-spacing:-.03em;margin:0}.hero-subtitle[data-v-c469c587]{font-family:var(--font-sans);font-size:16px;color:var(--color-secondary);line-height:1.5;max-width:360px;margin:0}.hero-suggestions[data-v-c469c587]{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 0 4px;justify-content:center}.hero-hint[data-v-c469c587]{font-family:var(--font-sans);font-size:.7rem;color:var(--color-text-muted);opacity:.5;margin:8px 0 0;animation:hintBob-c469c587 2.2s ease-in-out infinite}@keyframes hintBob-c469c587{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes heroFadeIn-c469c587{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.hero-welcome[data-v-c469c587],.hero-hint[data-v-c469c587]{animation:none}}@media (max-width: 640px){.hero-welcome[data-v-c469c587]{padding:28px 16px;gap:10px}.hero-brand__svg[data-v-c469c587]{width:52px;height:52px}.hero-greeting[data-v-c469c587]{font-size:32px}.hero-subtitle[data-v-c469c587]{font-size:14px;max-width:280px}.hero-suggestions[data-v-c469c587]{gap:8px;padding:12px 0 2px}}.msg-avatar[data-v-de3c2e5e]{display:inline-block;width:28px;height:28px;text-align:center;line-height:28px;font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--color-text);background:#3b7ef414;border:1px solid rgba(59,126,244,.2);border-radius:50%;flex-shrink:0}.msg-avatar__dot[data-v-de3c2e5e]{display:inline-block;width:.32em;height:.32em;border-radius:50%;background:var(--color-accent);vertical-align:baseline;margin-left:1px}@media (max-width: 640px){.msg-avatar[data-v-de3c2e5e]{width:24px;height:24px;font-size:.76rem}}.image-chip[data-v-37dde431]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.78rem;color:var(--color-text-secondary);max-width:100%}.image-chip__icon[data-v-37dde431]{flex-shrink:0;color:var(--color-accent)}.image-chip__name[data-v-37dde431]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.image-chip__remove[data-v-37dde431]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--color-text-muted);font-size:1rem;cursor:pointer;border-radius:4px;flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast)}.image-chip__remove[data-v-37dde431]:hover{color:var(--color-text);background:#ffffff0f}.image-chip__remove[data-v-37dde431]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (max-width: 640px){.image-chip[data-v-37dde431]{padding:8px 12px;font-size:.8rem}.image-chip__remove[data-v-37dde431]{min-width:40px;min-height:40px;padding:10px}}.chat-wrapper[data-v-9762fe0e]{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);min-height:calc(100dvh - var(--nav-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.messages-panel[data-v-9762fe0e]{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-9762fe0e]{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:24px 20px;display:flex;flex-direction:column;gap:6px}.messages[data-v-9762fe0e]::-webkit-scrollbar{width:4px}.messages[data-v-9762fe0e]::-webkit-scrollbar-track{background:transparent}.messages[data-v-9762fe0e]::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.turns-warning[data-v-9762fe0e]{padding:6px 12px;font-size:.7rem;color:var(--color-text-muted);text-align:center;opacity:.6}.message[data-v-9762fe0e]{display:flex;max-width:80%}.message--user[data-v-9762fe0e]{align-self:flex-end}.message--assistant[data-v-9762fe0e]{align-self:flex-start}.message--enter[data-v-9762fe0e]{animation:msgIn-9762fe0e .25s var(--ease-out)}@keyframes msgIn-9762fe0e{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.message__bubble[data-v-9762fe0e]{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-9762fe0e]{background:var(--color-accent);color:#fff;border-radius:20px 20px 6px}.message--assistant .message__bubble[data-v-9762fe0e]{background:#ffffff0f;color:var(--color-text);border-radius:20px 20px 20px 6px;border-left:2px solid rgba(59,126,244,.3)}.message__image[data-v-9762fe0e]{display:block;max-width:240px;max-height:240px;width:auto;height:auto;border-radius:18px 18px 6px 6px;margin-bottom:8px;object-fit:cover}.msg-link[data-v-9762fe0e]{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-9762fe0e]:hover{text-decoration-color:var(--color-accent-hover)}.message--user .msg-link[data-v-9762fe0e]{color:#ffffffd9;text-decoration-color:#ffffff4d}.message--user .msg-link[data-v-9762fe0e]:hover{text-decoration-color:#ffffffb3}.message__foot[data-v-9762fe0e]{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:4px;height:16px}.message__time[data-v-9762fe0e]{font-size:.6rem;color:var(--color-text-muted);opacity:0;transition:opacity var(--transition-fast)}.message:hover .message__time[data-v-9762fe0e]{opacity:.6}.message--user .message__time[data-v-9762fe0e]{color:#fff9}.copy-btn[data-v-9762fe0e]{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-9762fe0e]{opacity:.7}.copy-btn[data-v-9762fe0e]:hover{opacity:1!important;color:var(--color-text)}.copy-btn--copied[data-v-9762fe0e]{opacity:1!important;color:#34d399}.check-icon[data-v-9762fe0e]{animation:checkIn-9762fe0e .3s var(--ease-out)}@keyframes checkIn-9762fe0e{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.error-toast[data-v-9762fe0e]{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-9762fe0e]{transition:all .18s var(--ease-out)}.toast-leave-active[data-v-9762fe0e]{transition:all .12s ease-in}.toast-enter-from[data-v-9762fe0e],.toast-leave-to[data-v-9762fe0e]{opacity:0;transform:translate(-50%) translateY(-6px)}.toast-retry[data-v-9762fe0e]{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-9762fe0e]:hover{background:#ef44444d}.toast-close[data-v-9762fe0e]{background:none;border:none;color:#fca5a5;font-size:1rem;cursor:pointer;opacity:.5;line-height:1}.toast-close[data-v-9762fe0e]:hover{opacity:1}.input-area[data-v-9762fe0e]{display:flex;align-items:flex-end;gap:8px;margin-top:10px;padding:12px 16px;background:#ffffff08;border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0}.input-area[data-v-9762fe0e]:focus-within{border-color:#3b7ef466;box-shadow:0 0 0 3px #3b7ef414}.chat-input[data-v-9762fe0e]{flex:1;background:transparent;border:none;outline:none;color:var(--color-text);font-family:var(--font-sans);font-size:1rem;line-height:1.5;resize:none;max-height:120px;padding:8px 0}.chat-input[data-v-9762fe0e]::placeholder{color:var(--color-text-muted)}.chat-input[data-v-9762fe0e]:disabled{opacity:.4}.send-btn[data-v-9762fe0e]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-accent);color:#fff;border:1px solid var(--color-accent);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-9762fe0e]:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:scale(1.06)}.send-btn[data-v-9762fe0e]:disabled{opacity:.45;background:#3b7ef459;border-color:transparent;cursor:not-allowed}.attach-btn[data-v-9762fe0e]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;transition:color var(--transition-fast),transform var(--transition-fast)}.attach-btn[data-v-9762fe0e]:hover:not(:disabled){color:var(--color-text)}.attach-btn[data-v-9762fe0e]:disabled{opacity:.2;cursor:not-allowed}.attach-btn[data-v-9762fe0e]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.attach-btn__icon[data-v-9762fe0e]{transition:transform var(--transition-fast)}.input-wrap[data-v-9762fe0e]{flex:1;position:relative;display:flex;align-items:flex-end}.char-counter[data-v-9762fe0e]{position:absolute;bottom:6px;right:8px;font-size:.65rem;font-family:var(--font-sans);color:var(--color-text-muted);opacity:.5;pointer-events:none;line-height:1}.char-counter--full[data-v-9762fe0e]{color:var(--color-accent);opacity:1}.stop-btn[data-v-9762fe0e]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;flex-shrink:0;font-size:1.2rem;line-height:1;transition:background var(--transition-fast),border-color var(--transition-fast)}.stop-btn[data-v-9762fe0e]:hover:not(:disabled){background:var(--color-surface);border-color:#ef444466;color:#fca5a5}.stop-btn[data-v-9762fe0e]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.message--loading[data-v-9762fe0e]{display:flex;align-items:center;gap:8px;max-width:100%;padding:4px 0}.stop-pill[data-v-9762fe0e]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.stop-pill[data-v-9762fe0e]:hover{background:#ffffff14;border-color:#ffffff26}.stop-pill[data-v-9762fe0e]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dots[data-v-9762fe0e]{display:flex;align-items:center;gap:4px}.dots span[data-v-9762fe0e]{width:5px;height:5px;border-radius:50%;background:var(--color-text-muted);animation:dotPulse-9762fe0e 1.4s infinite ease-in-out}.dots span[data-v-9762fe0e]:nth-child(2){animation-delay:.15s}.dots span[data-v-9762fe0e]:nth-child(3){animation-delay:.3s}@keyframes dotPulse-9762fe0e{0%,80%,to{opacity:.2;transform:scale(.85)}40%{opacity:1;transform:scale(1)}}.drag-overlay[data-v-9762fe0e]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#060606d9;border:1.5px dashed rgba(59,126,244,.5);border-radius:var(--radius-lg);pointer-events:none}.drag-overlay__icon[data-v-9762fe0e]{font-size:2rem;line-height:1}.drag-overlay__text[data-v-9762fe0e]{font-family:var(--font-sans);font-size:.9rem;color:var(--color-text)}.drag-overlay__hint[data-v-9762fe0e]{font-family:var(--font-sans);font-size:.7rem;color:var(--color-text-muted);opacity:.6}.image-attachments[data-v-9762fe0e]{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 0;flex-shrink:0}.input-hint[data-v-9762fe0e]{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-9762fe0e]{padding:8px 10px 0}.messages[data-v-9762fe0e]{padding:16px 10px;gap:4px}.message[data-v-9762fe0e]{max-width:90%}.message__bubble[data-v-9762fe0e]{font-size:.84rem;padding:10px 14px}.input-area[data-v-9762fe0e]{margin-top:8px;padding:10px 12px;padding-bottom:calc(env(safe-area-inset-bottom) + 10px)}.chat-input[data-v-9762fe0e]{font-size:1rem;min-height:44px;padding:8px 0}.send-btn[data-v-9762fe0e],.attach-btn[data-v-9762fe0e]{width:40px;height:40px}.stop-btn[data-v-9762fe0e]{width:40px;height:40px;min-width:40px;border-radius:10px}.stop-pill[data-v-9762fe0e]{min-height:40px}.input-hint[data-v-9762fe0e]{display:none}}.keyboard-open .input-area{padding-bottom:env(safe-area-inset-bottom)}.login-page[data-v-7efa76ee]{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-7efa76ee]{position:relative;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-7efa76ee .5s var(--ease-out)}@keyframes fadeUp-7efa76ee{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-hero[data-v-7efa76ee]{text-align:center}.login-title[data-v-7efa76ee]{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-7efa76ee]{margin-top:6px;font-size:.82rem;color:var(--color-text-muted)}.corner-pill[data-v-7efa76ee]{display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;z-index:110;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.corner-pill[data-v-7efa76ee]:hover{color:var(--color-text);border-color:var(--color-text-muted);background:var(--color-surface-raised)}.corner-pill[data-v-7efa76ee]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.back-pill[data-v-7efa76ee]{position:absolute;top:12px;left:16px;height:auto;padding:4px 8px;gap:6px;background:transparent;border:none;border-radius:0;font-family:var(--font-sans);font-size:.84rem}.home-pill[data-v-7efa76ee]{position:fixed;top:16px;right:16px;width:40px;height:40px;text-decoration:none}.main-btns[data-v-7efa76ee]{display:flex;flex-direction:column;gap:10px;width:100%}.or-divider[data-v-7efa76ee]{display:flex;align-items:center;gap:16px;width:100%;color:var(--color-text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.or-divider[data-v-7efa76ee]:before,.or-divider[data-v-7efa76ee]:after{content:"";flex:1;height:1px;background:var(--color-border)}.main-btn[data-v-7efa76ee]{width:100%;padding:12px 16px;min-height:44px;font-family:var(--font-sans);font-size:.86rem;font-weight:500;color:var(--color-text);background:var(--color-surface-raised);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:box-shadow var(--transition-fast),background var(--transition-fast)}.main-btn[data-v-7efa76ee]:hover{box-shadow:0 0 20px var(--color-accent-glow)}.google-icon[data-v-7efa76ee]{flex-shrink:0}.visitor-btn[data-v-7efa76ee]{width:100%;padding:12px 16px;min-height:44px;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:.86rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.visitor-btn[data-v-7efa76ee]: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-7efa76ee]{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-7efa76ee]::placeholder{color:var(--color-text-muted);opacity:.5}.name-input[data-v-7efa76ee]:focus{border-color:var(--color-accent)}.error-msg[data-v-7efa76ee]{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-7efa76ee]{display:flex;flex-direction:column;align-items:center;gap:10px}.waiting-text[data-v-7efa76ee]{font-size:.84rem;color:var(--color-text-secondary)}.waiting-sub[data-v-7efa76ee]{font-size:.7rem;color:var(--color-text-muted);opacity:.5}.back-btn[data-v-7efa76ee]{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-7efa76ee]:hover{opacity:1}.loading-box[data-v-7efa76ee]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0}.loading-text[data-v-7efa76ee]{font-size:.82rem;color:var(--color-text-muted)}.spinner[data-v-7efa76ee]{width:28px;height:28px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin-7efa76ee .7s linear infinite}.spinner-sm[data-v-7efa76ee]{width:20px;height:20px;border-width:2px}@keyframes spin-7efa76ee{to{transform:rotate(360deg)}}@media (max-width: 480px){.login-card[data-v-7efa76ee]{padding:32px 24px;gap:20px}.back-pill[data-v-7efa76ee]{top:8px;left:12px;font-size:.8rem}.home-pill[data-v-7efa76ee]{right:12px;width:36px;height:36px}}.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-d7a70a1a]{display:flex;flex-direction:column;min-height:0;padding-top:calc(var(--nav-height) + env(safe-area-inset-top,0px))}.loading-splash[data-v-d7a70a1a]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg);z-index:200}.chat-backdrop[data-v-d7a70a1a]{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-d7a70a1a]{filter:blur(3px) brightness(.35);pointer-events:none;-webkit-user-select:none;user-select:none}:root{--color-bg: #060606;--color-surface: #0d0d0d;--color-surface-raised: #141414;--color-surface-overlay: #1a1a1a;--color-border: #1c1c1c;--color-border-hover: #2c2c2c;--color-border-active: #3c3c3c;--color-border-accent: rgba(59, 126, 244, .24);--color-text: #efefef;--color-text-secondary: #868686;--color-text-muted: #737373;--color-accent: #3b7ef4;--color-accent-hover: #5a95f7;--color-accent-strong: #2563eb;--color-accent-dim: rgba(59, 126, 244, .08);--color-accent-glow: rgba(59, 126, 244, .13);--color-error: #fca5a5;--color-error-bg: rgba(239, 68, 68, .08);--color-success: #4ade80;--color-success-bg: rgba(74, 222, 128, .08);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .08);--font-display: "Archivo", system-ui, -apple-system, sans-serif;--font-sans: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, monospace;--space-3xs: clamp(.25rem, .125rem + .5vw, .5rem);--space-2xs: clamp(.375rem, .25rem + .5vw, .625rem);--space-xs: clamp(.5rem, .25rem + 1vw, .75rem);--space-sm: clamp(.625rem, .375rem + 1vw, 1rem);--space-md: clamp(.75rem, .5rem + 1vw, 1.25rem);--space-lg: clamp(1rem, .625rem + 1.5vw, 1.75rem);--space-xl: clamp(1.5rem, 1rem + 2vw, 2.5rem);--space-2xl: clamp(2rem, 1.25rem + 3vw, 3.5rem);--space-3xl: clamp(3rem, 2rem + 4vw, 5rem);--max-width: 1100px;--nav-height: 64px;--section-gap: 80px;--content-pad: 24px;--measure: 68ch;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 9999px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .5);--shadow-raised: 0 2px 8px rgba(0, 0, 0, .6);--shadow-overlay: 0 4px 24px rgba(0, 0, 0, .7);--shadow-glow: 0 0 0 1px rgba(59, 126, 244, .2);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .26s;--duration-slow: .42s;--z-base: 10;--z-overlay: 50;--z-nav: 60;--bp-3xs: 320px;--bp-xs: 360px;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1440px;--bp-2xl: 1920px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;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%;padding-bottom:env(safe-area-inset-bottom,0px)}#app{height:100%;overflow:hidden}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0;line-height:var(--leading-tight)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent-dim);color:var(--color-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tap-target{min-width:44px;min-height:44px}.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(--duration-fast) var(--ease-out);white-space:nowrap}.skip-nav:focus{top:0}.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(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out)}.card:hover{border-color:var(--color-border-hover);background:var(--color-surface-raised)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;font-family:var(--font-sans);font-size:.875rem;font-weight:500;line-height:1;color:#fff;background:var(--color-accent);border:1.5px solid var(--color-accent);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;font-family:var(--font-sans);font-size:.875rem;font-weight:500;line-height:1;color:var(--color-text-secondary);background:transparent;border:1.5px solid var(--color-border-hover);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.btn-outline:hover{border-color:var(--color-text-muted);color:var(--color-text);background:var(--color-surface)}.btn-outline:active{transform:scale(.97)}.btn-outline:disabled{opacity:.4;cursor:not-allowed}.btn-outline:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn-ghost:hover{color:var(--color-text);background:var(--color-accent-dim)}.btn-ghost:active{transform:scale(.97)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-ghost:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-sm{padding:8px 16px;font-size:.82rem;min-height:44px;display:inline-flex;align-items:center}.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}.empty-state{padding:var(--space-xl) 0;text-align:center}.empty-state p{color:var(--color-text-muted);font-size:.875rem;margin:0}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.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}.footer{border-top:1px solid var(--color-border);padding-block:28px;position:relative;z-index:var(--z-base)}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:var(--max-width);margin:0 auto;padding:0 var(--content-pad)}.footer__copy{font-size:.78rem;color:var(--color-text-muted)}.footer__top{min-height:44px;min-width:44px;padding-block:8px;padding-inline:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:.78rem;color:var(--color-text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.footer__top:hover{color:var(--color-text)}.footer__top:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none;transition:none}}@media (max-width: 640px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:1rem!important}}@media (pointer: coarse){button[class*=btn],.footer__top,[role=button]{min-width:44px;min-height:44px}}.chat-backdrop{height:100%;display:flex;flex-direction:column;overflow:hidden;transition:filter .4s var(--ease-out),opacity .4s var(--ease-out)}.chat-backdrop--dim{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))}}
