:root{--clr-primary: #736ced;--clr-primary-dark: #5d57c9;--clr-accent: #2f24e6;--clr-accent-hover: #2319c9;--clr-bg: #f4f5f5;--clr-surface: #ffffff;--clr-border: #e5e7eb;--clr-text: #374151;--clr-text-muted: #6b7280;--radius: 8px;--shadow: 0 2px 4px rgba(0, 0, 0, .08);--font-sans: "Noto Sans JP", system-ui, sans-serif;--transition-fast: .15s ease;--transition-medium: .3s ease}body{margin:0;padding:0;font-family:var(--font-sans);background:var(--clr-bg);color:var(--clr-text);height:100vh;display:flex;flex-direction:column}h1.title{font-size:1.25rem;font-weight:500;margin:0;text-underline-position:from-font}.header:hover{background:var(--clr-accent-hover)}.header{background:var(--clr-accent);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:flex-start;position:fixed;top:0;left:0;right:0;z-index:10;box-shadow:var(--shadow);transition:background var(--transition-medium)}.header-content{display:flex;align-items:flex-start;gap:1rem}.model-selectors{display:none;flex-direction:column;gap:.5rem}.reset-container{display:flex;align-items:center}.reset-btn-icon{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGtSURBVHgB7ZiNbcIwEIVfNmCEbFA2aEboCGxSb1A2CCN0hU5AN0g3gA1ez7IrRY4D+C8hqj/phAQ4uXd5sc8GKpVKpfKfaZAJkjv5eJN4ldhLtBI7+/NV4kfiW+JL4rNpmiueAUm8leglLgyj12OxFrriEh9Mp8PS2KoPTEdhaeSm+xvJaxspXVWO7EHztPR3x9FYhaW5UfkhxApcyTa7meRPNDPQc0P/C6uwBax1XI4ohFz7XQdyQTNnu54vYhub/B/pIqz3XQ4ogJN8HhE6Wbf6KMBM8ukiPPbJ7v07yaeJkIFn50IdMvJg8vEiOG3Ssr28gcnHiXBHIxORyc+LoOlhYlHIhHvh0MExIhQywemUfUEogSIUMkLTsY45I4YHRShkhqbdHtMjljsiFArAabd7QAozIhQKwOmKr0mfsh0RCgWgf68Rbx/PDRQL9v707zVabAH6F7Rie41sWNv0nuQHrrFFZeCmnvOHAy2WZmSDwfq5G1eRZkva2f/NneDpsXssDdOastUr3zEdvfqudyxDY48Tw9A26nNUvcTxeifxgq0cr1cqlUpl0/wCyi1IhTP6JUQAAAAASUVORK5CYII=) no-repeat left center;background-size:24px 24px;padding-left:32px;height:auto;width:auto;font-size:1rem;border:none;cursor:pointer}.reset-btn-icon:hover{transform:scale(1.1)}.main-content{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.chat{flex:1;padding:1rem;padding-top:120px;padding-bottom:90px;overflow-y:auto;scroll-behavior:smooth}.chat::-webkit-scrollbar{width:8px}.chat::-webkit-scrollbar-thumb{background:var(--clr-border);border-radius:4px;transition:background var(--transition-fast)}.chat:hover::-webkit-scrollbar-thumb{background:var(--clr-primary-dark)}.ai-reply{display:flex;align-items:flex-start;gap:1rem;margin:1rem 0;opacity:0;animation:fadeSlide .3s forwards ease-out}.robot-image{width:28px;object-fit:contain}.reply-body{flex:1;display:flex;flex-direction:column}.reply-message{background:var(--clr-surface);padding:.75rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow);word-break:break-word;max-width:80%;transform:translateY(10px);opacity:0;animation:fadeSlideUp .3s forwards ease-out}.reply-message img{max-width:300px;border-radius:5px;margin-top:.5rem;transition:transform var(--transition-fast)}.reply-message img:hover{transform:scale(1.02)}.user-message-container{text-align:right}.user-message{display:inline-block;background:var(--clr-primary);color:#fff;padding:.75rem 1rem;border-radius:var(--radius);max-width:80%;word-break:break-word;margin:1rem 0;opacity:0;transform:translateY(10px);animation:fadeSlideUp .3s forwards ease-out}.input-box{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;padding:.2rem;border-top:1px solid var(--clr-border);background:var(--clr-surface);box-shadow:0 -2px 4px #0000000f;z-index:10}.input-box textarea{flex:1;border:1px solid var(--clr-border);border-radius:var(--radius);background:#fff;color:var(--clr-text);height:1.5rem;padding:.5rem .75rem;font-size:1rem;resize:none;box-shadow:inset 0 1px 2px #0000001a;transition:border-color var(--transition-fast)}.input-box textarea:focus{border-color:var(--clr-primary);outline:none}.input-box button{margin-left:.5rem;padding:.2rem .3rem;border:none;border-radius:var(--radius);background:var(--clr-primary);color:#fff;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast);font-size:.95rem}.input-box button:hover{background:var(--clr-primary-dark);transform:translateY(-1px)}.input-box button:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.thinking{opacity:0;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease;visibility:hidden}.thinking.active{opacity:1;transform:translateY(0);visibility:visible}#image-modal{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000d9;z-index:9999;justify-content:center;align-items:center;cursor:pointer;padding:1rem}#image-modal img{max-width:90%;max-height:90%;border-radius:8px;box-shadow:0 0 20px #00000080;object-fit:contain}#js-reset-btn{color:#fff}.reference{margin-bottom:50px}.reference-header{font-size:20px}.reference a.title{color:#2f24e6;font-size:16px;text-decoration:none}.reference-items{display:flex;gap:24px;flex-direction:column}.reference a.title:hover{cursor:pointer}.reference a,.reference p{margin-top:0;margin-bottom:0}.confidence{font-size:14px;color:#51545d}@media (max-width: 480px){.reference-header{margin:10px 0;font-weight:400}.reference{margin-bottom:60px}.reference-items{gap:16px}}.tags{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center}.tags span{margin:5px;padding:16px;border:1px solid #D6D7DB;border-radius:56px;background-color:#fff;color:#000;vertical-align:middle;line-height:16px}.tags span:hover{border:1px solid #2F24E6;background-color:#e5e4fb;color:#2f24e6;cursor:pointer}@media (max-width: 480px){.tags span{padding:12px;font-size:16px;line-height:16px}}.loading-container{display:flex;align-items:center;gap:4px;padding:8px 12px}.loading-dots{display:flex;gap:4px}.dot{width:8px;height:8px;background-color:#007bff;border-radius:50%;opacity:.3;animation:pulse 1.4s infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.thinking-text{color:#666;font-size:.9em}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.initial-message{position:relative;background:#fff;border-radius:10px;padding:20px;color:#000;margin:10px 0;text-align:center;box-shadow:0 4px 6px #0000001a;font-weight:700;line-height:1.5em}.initial-message:after{content:"";position:absolute;top:100%;left:50%;margin-left:-10px;border-width:10px;border-style:solid;border-color:white transparent transparent transparent}.initial-container{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px}@media (max-width: 480px){.initial-message{padding:16px;font-size:12px}.initial-robot-image{height:100px}}#reset-modal{position:fixed;top:0;left:0;background-color:#0000007f;height:100%;width:100%;display:none;align-items:center;justify-content:center}.reset-base{background-color:#fff;opacity:100%;border-radius:10px;border:solid #D6D7DB;padding:40px;max-width:900px;width:80%}.reset-modal-header{display:flex;justify-content:space-between}.reset-modal-body{margin-top:24px}.reset-modal-title{font-weight:700;font-size:24px;line-height:30px}.reset-modal-body{font-size:24px;line-height:30px}.reset-base hr{margin-top:24px}.reset-modal-buttons{justify-content:flex-end;display:flex;gap:24px;margin-top:24px}.reset-modal-close:hover,.reset-modal-reset:hover,.reset-modal-cancel:hover{cursor:pointer}.reset-modal-reset,.reset-modal-cancel{padding:8px 16px;border-radius:8px;height:40px;font-size:16px}.reset-modal-reset{background-color:#2f24e6;border:1px solid #2F24E6;color:#fff}.reset-modal-cancel{background-color:#fff;border:1px solid black}@media (max-width: 480px){.reset-base{padding:24px;width:80%}.reset-modal-close,.reset-base hr{display:none}.reset-modal-title{font-size:18px}.reset-modal-body{margin-top:8px;font-size:16px}.reset-modal-buttons{margin-top:24px;flex-direction:column-reverse;gap:16px}}.feedback-container{font-size:16px;color:#333;margin-bottom:10px}.feedback-sentence{display:flex;justify-content:center}.feedback-button-container{margin-top:15px;display:flex;justify-content:center;gap:10px}.feedback-positive,.feedback-negative{border:2px solid #002f87;background-color:#fff;color:#002f87;font-size:16px;padding:8px 20px;border-radius:6px;cursor:pointer;transition:all .3s ease}.feedback-input{display:none}input[type=radio]:checked+label,label:hover{background-color:#002f87;color:#fff}
