body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.chatbox{--bg:#fff;--surface:#fafbfc;--surface-elevated:#fff;--border:#e5e7eb;--border-light:#f3f4f6;--shadow-sm:0 1px 2px #0000000a;--shadow:0 4px 20px #00000014;--shadow-lg:0 12px 40px #0000001f;--text:#1f2937;--text-secondary:#6b7280;--text-muted:#9ca3af;--primary:#4f46e5;--primary-hover:#4338ca;--primary-light:#eef2ff;--primary-ring:#4f46e533;--user-bubble:linear-gradient(135deg,#6366f1,#4f46e5);--bot-bubble:#fff;--radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-xl:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--transition-fast:120ms ease-out;--transition:200ms ease-out;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:var(--text);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;height:100%;margin:0 0 0 auto;max-height:100%;overflow:hidden;padding:0;width:100%}.chatbox,.chatbox__header{background:var(--bg);display:flex}.chatbox__header{align-items:center;border-bottom:1px solid var(--border-light);gap:var(--space-3);justify-content:space-between;padding:var(--space-4) var(--space-5)}.chatbox__title{align-items:center;color:var(--text);display:flex;font-size:1rem;font-weight:600;gap:var(--space-2);margin:0}.chatbox__title:before{background:#22c55e;border-radius:50%;box-shadow:0 0 0 2px #22c55e33;content:"";height:8px;width:8px}.chatbox__actions{display:flex;gap:var(--space-2)}.btn{-webkit-appearance:none;appearance:none;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;line-height:1;padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.btn:hover{background:var(--surface);color:var(--text)}.btn:active{transform:scale(.98)}.btn:focus-visible{box-shadow:0 0 0 2px var(--primary-ring);outline:none}.btn--ghost{background:#0000}.btn--ghost:hover{background:var(--surface)}.btn--primary{background:var(--primary);border-radius:var(--radius);color:#fff;font-weight:500;padding:var(--space-3) var(--space-4)}.btn--primary:hover{background:var(--primary-hover);color:#fff}.btn--primary:disabled,.btn--primary[aria-disabled=true]{cursor:not-allowed;opacity:.5}.chatbox__messages{background:var(--surface);flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--space-5);position:relative;scroll-behavior:smooth}.chatbox__messages::-webkit-scrollbar{width:6px}.chatbox__messages::-webkit-scrollbar-track{background:#0000}.chatbox__messages::-webkit-scrollbar-thumb{background-color:#00000026;border-radius:999px}.chatbox__messages::-webkit-scrollbar-thumb:hover{background-color:#00000040}.chatbox__messages{scrollbar-color:#00000026 #0000;scrollbar-width:thin}.scroll-to-bottom{background:var(--surface-elevated);border:none;border-radius:50%;bottom:var(--space-4);box-shadow:var(--shadow);color:var(--text-secondary);cursor:pointer;display:grid;font-size:16px;height:36px;line-height:1;place-items:center;position:absolute;right:var(--space-4);transition:all var(--transition-fast);width:36px;z-index:10}.scroll-to-bottom:hover{background:var(--primary);box-shadow:var(--shadow-lg);color:#fff;transform:translateY(-2px)}.scroll-to-bottom:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.chatbox__row{align-items:flex-end;display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.chatbox__row:last-child{margin-bottom:0}.chatbox__row--user{justify-content:flex-end}.chatbox__row--bot{justify-content:flex-start}.chatbox__row--bot+.chatbox__row--user{margin-top:var(--space-5)}.chatbox__row--user+.chatbox__row--bot{margin-top:var(--space-3)}.chatbox__row--bot:before{align-self:flex-start;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8V4H8'/%3E%3Crect width='16' height='12' x='4' y='8' rx='2'/%3E%3Cpath d='M2 14h2M20 14h2M15 13v2M9 13v2'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:18px;border-radius:50%;box-shadow:var(--shadow-sm);content:"";flex-shrink:0;height:32px;margin-top:2px;width:32px}.chatbox__bubble{font-size:.9375rem;line-height:1.55;max-width:80%;overflow-wrap:break-word;padding:var(--space-3) var(--space-4);position:relative;white-space:normal;word-break:normal}.chatbox__bubble--user{background:var(--user-bubble);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);box-shadow:0 2px 12px #6366f14d;color:#fff}.chatbox__bubble--bot{background:var(--bot-bubble);border:1px solid var(--border-light);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text)}.chatbox__citations{align-items:center;border-top:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3)}.chatbox__citations-label{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--space-1);text-transform:uppercase;width:100%}.citation-chip{align-items:center;background:var(--primary-light);border:none;border-radius:var(--radius);color:var(--primary);display:inline-flex;font-size:.75rem;font-weight:500;gap:var(--space-1);max-width:100%;overflow:hidden;padding:var(--space-1) var(--space-3);text-decoration:none;text-overflow:ellipsis;transition:all var(--transition-fast);white-space:nowrap}.citation-chip:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:"";flex-shrink:0;height:12px;width:12px}.citation-chip:hover{background:#ddd6fe;color:var(--primary-hover);transform:translateY(-1px)}.citation-chip:focus-visible{box-shadow:0 0 0 2px var(--primary-ring);outline:none}.typing-text{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.875rem;gap:var(--space-2)}.typing-dots{display:inline}.typing-dots span{animation:typingDot 1.4s infinite;opacity:0}.typing-dots span:after{content:"."}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,20%{opacity:0}40%,to{opacity:1}}.streaming-cursor{animation:cursorBlink 1s ease-in-out infinite;background:var(--primary);border-radius:1px;display:inline-block;height:1em;margin-left:2px;vertical-align:text-bottom;width:2px}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.chatbox__inputbar{align-items:center;background:var(--bg);border-top:1px solid var(--border-light);display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.chatbox__input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);flex:1 1;font-size:.9375rem;padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.chatbox__input::placeholder{color:var(--text-muted)}.chatbox__input:hover{border-color:#d1d5db}.chatbox__input:focus{background:var(--bg);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.markdown-body{line-break:strict;overflow-wrap:break-word;white-space:normal;word-break:keep-all}@supports (word-break:auto-phrase){.markdown-body{word-break:auto-phrase}}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:inherit;font-weight:700;margin:0 0 .6rem}.markdown-body p{margin:0 0 .6rem}.markdown-body p:last-child{margin-bottom:0}.markdown-body ol,.markdown-body ul{margin:.5rem 0;padding-left:1.25rem}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin-bottom:.25rem}.markdown-body code{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.85em;padding:.1em .4em}.markdown-body pre code{display:block;overflow-x:auto;padding:var(--space-3) var(--space-4)}.markdown-body blockquote{background:var(--primary-light);border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text);margin:.5rem 0;padding:var(--space-3) var(--space-4)}.markdown-link{color:var(--primary);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.markdown-link:hover{color:var(--primary-hover);text-decoration:underline}.markdown-link:focus-visible{border-radius:2px;box-shadow:0 0 0 2px var(--primary-ring);outline:none}.citation-inline{background:var(--primary-light);border-radius:4px;color:var(--primary);cursor:pointer;display:inline-block;font-size:.65em;font-weight:600;line-height:1;margin:0 1px;padding:1px 4px;text-decoration:none;vertical-align:super}.citation-inline:hover{background:#ddd6fe}@media (prefers-reduced-motion:reduce){.btn,.chatbox *,.chatbox__bubble,.citation-chip,.markdown-link{animation:none!important;transition:none!important}.typing-dots span{animation:gentlePulse 2s ease-in-out infinite!important;opacity:1!important}}@keyframes gentlePulse{0%,to{opacity:1}50%{opacity:.4}}.chatbox__disclaimer{align-items:center;background:var(--surface);display:flex;flex:1 1;justify-content:center;padding:var(--space-6)}.chatbox__disclaimer-content{max-width:360px;text-align:center}.chatbox__disclaimer-text{color:var(--text);font-size:1rem;font-weight:500;line-height:1.6;margin:0 0 var(--space-4)}.chatbox__disclaimer-url{color:var(--text-secondary);font-size:.875rem;margin:0 0 var(--space-6);word-break:break-all}.chatbox__disclaimer-url a{color:var(--primary);text-decoration:none}.chatbox__disclaimer-url a:hover{text-decoration:underline}.chatbox__disclaimer-actions{display:flex;gap:var(--space-3);justify-content:center}.btn--secondary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-weight:500;padding:var(--space-3) var(--space-4)}.btn--secondary:hover{background:var(--border-light);color:var(--text)}.chatbox__welcome{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:var(--space-6);text-align:center}.chatbox__welcome-text{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin:0 0 var(--space-5)}.chatbox__sample-questions{display:flex;flex-direction:column;gap:var(--space-2);max-width:400px;width:100%}.chatbox__sample-question{-webkit-appearance:none;appearance:none;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:.875rem;line-height:1.5;padding:var(--space-3) var(--space-4);text-align:left;transition:all var(--transition-fast)}.chatbox__sample-question:hover{background:var(--primary-light);border-color:var(--primary);box-shadow:var(--shadow-sm);color:var(--primary);transform:translateY(-1px)}.chatbox__sample-question:focus-visible{box-shadow:0 0 0 2px var(--primary-ring);outline:none}.chatbox__sample-question:active{transform:scale(.99)}@media (max-width:520px){.chatbox{border-radius:0;width:100%}.chatbox__messages{padding:var(--space-4)}.chatbox__bubble{max-width:90%}.chatbox__header,.chatbox__inputbar{padding:var(--space-3) var(--space-4)}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.a299a0a1.css.map*/