:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0;background-color:#f0f2f5;color:#1c1e21;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:10px;transition:background-color .3s ease,color .3s ease}.App.chat-container{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:700px;height:90vh;max-height:850px;background-color:#fff;border-radius:20px;box-shadow:0 8px 25px #0000001a;transition:background-color .3s ease}.chat-header{background-color:#f7f7f7;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;border-bottom:1px solid #e5e5e5;transition:background-color .3s ease,border-color .3s ease;min-height:48px}.theme-slider-label{order:1;flex-shrink:0;margin-right:auto}.title-container{order:2;text-align:center;flex-grow:1;padding:0 10px}.summarize-download-button{order:3;flex-shrink:0;margin-left:auto;position:relative}.chat-header h1{font-size:1rem;font-weight:600;line-height:1.2;margin:0}.tagline{font-size:.7rem;color:#8e8e93;line-height:1.1;margin:0;transition:color .3s ease}.theme-slider-label{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.theme-slider-label input{opacity:0;width:0;height:0}.theme-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#e9e9eb;border-radius:24px;transition:background-color .3s;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.slider-knob{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 1px 3px #00000026}.slider-icon{font-size:11px;line-height:1;opacity:0;position:absolute;transition:opacity .3s;-webkit-user-select:none;user-select:none;top:50%;transform:translateY(-50%)}.slider-icon.light{left:5px}.slider-icon.dark{right:5px}body.light-mode .theme-slider-label .slider-icon.dark,body.dark-mode .theme-slider-label .slider-icon.light{opacity:.7}.theme-slider-label input:checked+.theme-slider{background-color:#0a84ffa6}.theme-slider-label input:checked+.theme-slider .slider-knob{transform:translate(20px)}.icon-button:hover:not(:disabled){background-color:#007aff1a}.icon-button:disabled{color:#ccc;cursor:not-allowed;opacity:.5;background:none}.button-spinner{border:2px solid rgba(0,122,255,.3);border-top-color:#007aff;border-radius:50%;width:16px;height:16px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.summarize-download-button span[role=img]{display:inline-block}.messages-area{flex-grow:1;overflow-y:auto;padding:10px 15px;background-color:#fff;display:flex;flex-direction:column;gap:12px;transition:background-color .3s ease}.message{display:flex;max-width:85%;word-wrap:break-word;align-items:flex-end}.message.user{align-self:flex-end;margin-left:auto}.message.model{align-self:flex-start;margin-right:auto}.ai-avatar{width:28px;height:28px;font-size:18px;margin-right:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-bottom:2px}.message-content{padding:10px 15px;border-radius:18px;font-size:.95rem;line-height:1.5;box-shadow:0 1px 1px #00000012;transition:background-color .3s ease,color .3s ease,filter .3s ease;display:inline-block;max-width:100%;word-break:break-word}.message.user .message-content{background-color:#007aff;color:#fff}.message.model .message-content{background-color:#e5e5ea;color:#000}body.light-mode .message.user .message-content{filter:blur(4px)}body.dark-mode .message.user .message-content{filter:none!important;opacity:1!important}.timestamp-separator{text-align:center;margin:15px 0 10px;font-size:.7rem;color:#8e8e93;line-height:1.3;white-space:pre-wrap;-webkit-user-select:none;user-select:none;transition:color .3s ease}body.dark-mode .timestamp-separator{color:#8d8d92}.message.model .message-content a{color:#007aff;text-decoration:underline}.message.model .message-content p{margin-bottom:.6em}.message.model .message-content p:last-child{margin-bottom:0}.message.model .message-content ul,.message.model .message-content ol{padding-left:25px;margin-top:.5em;margin-bottom:.8em}.message.model .message-content li{margin-bottom:.5em;line-height:1.5}.message.model .message-content li>ul,.message.model .message-content li>ol{margin-top:.3em}.message.model .message-content strong{font-weight:600}.message.model .message-content h1,.message.model .message-content h2,.message.model .message-content h3,.message.model .message-content h4{margin:1em 0 .5em;line-height:1.3;font-weight:600}.message.model .message-content h2{font-size:1.1em}.message.model .message-content h3{font-size:1.05em}.message.model .message-content code{background-color:#0000000f;padding:.2em .4em;border-radius:3px;font-size:85%;font-family:monospace}.message.model .message-content pre{background-color:#0000000f;padding:10px;border-radius:4px;overflow-x:auto;font-size:85%;font-family:monospace;margin:.8em 0}.message.model .message-content pre code{background-color:transparent;padding:0}.typing-indicator-inline{display:flex;align-items:center;align-self:flex-start;margin-right:auto;padding:10px 0;min-height:36px;margin-left:0}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.typing-dot{width:7px;height:7px;border-radius:50%;background-color:#8e8e93;margin:0 2px;animation:bounce 1.4s infinite ease-in-out both}.typing-indicator-inline .typing-dot:nth-child(1){animation-delay:-.32s}.typing-indicator-inline .typing-dot:nth-child(2){animation-delay:-.16s}.typing-indicator-inline .typing-dot:nth-child(3){animation-delay:0s}.input-area{padding:8px 10px;border-top:1px solid #e5e5e5;background-color:#f7f7f7;color:#1c1e21;flex-shrink:0;transition:background-color .3s ease,border-color .3s ease}.input-area form{display:flex;gap:8px;align-items:flex-end;margin-bottom:5px}.input-area textarea{flex-grow:1;padding:8px 12px;border:1px solid #e0e0e0;border-radius:18px;font-size:.95rem;min-height:36px;max-height:100px;resize:none;line-height:1.3;outline:none;font-family:inherit;background-color:#fff;transition:background-color .3s ease,border-color .3s ease,color .3s ease}.input-area textarea:focus{border-color:#007aff}.input-area button[type=submit]{background-color:#007aff;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;transition:background-color .2s;display:flex;justify-content:center;align-items:center;padding:0;flex-shrink:0}.input-area button[type=submit] span{line-height:1;font-weight:700;transform:translateY(-1px)}.input-area button[type=submit]:before{content:none}.input-area button[type=submit]:hover:not(:disabled){background-color:#005ecb}.input-area button[type=submit]:disabled{background-color:#ccc;color:#f7f7f7;cursor:not-allowed}.input-controls{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding:0 5px;min-height:20px}.send-toggle-group{display:flex;align-items:center;gap:5px}.send-toggle-group input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.send-toggle-group label{position:relative;font-size:.75rem;color:#8e8e93;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .3s ease;padding-left:22px}.send-toggle-group label:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:14px;height:14px;border:1.5px solid #adb5bd;background-color:#fff;border-radius:3px;transition:background-color .2s ease,border-color .2s ease}.send-toggle-group input[type=checkbox]:checked+label:after{content:"✔";position:absolute;left:3px;top:50%;transform:translateY(-50%) scale(.9);font-size:12px;font-weight:700;color:#fff;line-height:1}.send-toggle-group input[type=checkbox]:checked+label:before{background-color:#007aff;border-color:#007aff}.disclaimer{font-size:.6rem;color:#8e8e93;text-align:right;margin:0;flex-shrink:0;max-width:60%;transition:color .3s ease;line-height:1.2}.error.chat-error{text-align:center;margin:5px auto;padding:5px 10px;border-radius:4px;color:#d8000c;background-color:#ffd2d2;border:1px solid #d8000c;font-size:.85rem;max-width:90%}.modal-backdrop{display:none!important}body.light-mode .input-area textarea{color:#1c1e21}.summarize-download-button{position:relative;order:3;flex-shrink:0;margin-left:auto}.summarize-download-button.has-plan-indicator:after{content:"";position:absolute;top:2px;right:2px;width:8px;height:8px;background-color:red;border-radius:50%;border:1px solid rgba(255,255,255,.5);box-shadow:0 0 2px #0000004d;z-index:1;pointer-events:none}.icon-button{background:none;border:none;color:#007aff;font-size:1.5rem;cursor:pointer;padding:4px;line-height:1;transition:opacity .2s ease,background-color .2s ease,color .3s ease;display:flex;align-items:center;justify-content:center;border-radius:50%;width:32px;height:32px}body.dark-mode{background-color:#000;color:#fff}.dark-mode .App.chat-container{background-color:#000}.dark-mode .chat-header{background-color:#1c1c1e;border-bottom:1px solid #38383a}.dark-mode .tagline{color:#8d8d92}.dark-mode .icon-button{color:#0a84ff}.dark-mode .icon-button:hover:not(:disabled){background-color:#0a84ff26}.dark-mode .icon-button:disabled{color:#4d4d50;opacity:.5}.dark-mode .button-spinner{border:2px solid rgba(0,122,255,.3);border-top-color:#0a84ff}.dark-mode .messages-area{background-color:#000}.dark-mode .message.user .message-content{background-color:#0a84ff;color:#fff;filter:none!important;opacity:1!important}.dark-mode .message.model .message-content{background-color:#2c2c2e;color:#fff}.dark-mode .message.model .message-content a{color:#0a84ff}.dark-mode .message.model .message-content code,.dark-mode .message.model .message-content pre{background-color:#ffffff1a}.dark-mode .message.model .message-content strong,.dark-mode .message.model .message-content h1,.dark-mode .message.model .message-content h2,.dark-mode .message.model .message-content h3{color:#f5f5f5}.dark-mode .typing-dot{background-color:#636366}.dark-mode .input-area{background-color:#1c1c1e;border-top:1px solid #38383a}.dark-mode .input-area textarea{background-color:#2c2c2e;color:#fff;border:1px solid #3a3a3c}.dark-mode .input-area textarea::placeholder{color:#8d8d92}.dark-mode .input-area textarea:focus{border-color:#0a84ff}.dark-mode .input-area button[type=submit]{background-color:#0a84ff}.dark-mode .input-area button[type=submit]:hover:not(:disabled){background-color:#007aff}.dark-mode .input-area button[type=submit]:disabled{background-color:#555}.dark-mode .send-toggle-group label{color:#8d8d92}.dark-mode .send-toggle-group label:before{background-color:#2c2c2e;border-color:#5a5a5e}.dark-mode .send-toggle-group input[type=checkbox]:checked+label:before{background-color:#0a84ff;border-color:#0a84ff}.dark-mode .send-toggle-group input[type=checkbox]:checked+label:after{color:#fff}.dark-mode .disclaimer{color:#8d8d92}.dark-mode .error.chat-error{background-color:#5c1f1f;color:#faa;border:1px solid #8b3a3a}.dark-mode .theme-slider-label .theme-slider{background-color:#3a3a3c}.dark-mode .theme-slider-label input:checked+.theme-slider{background-color:#0a84ffa6}.dark-mode .theme-slider-label .slider-knob{background-color:#636366}.dark-mode .theme-slider-label input:checked+.theme-slider .slider-knob{background-color:#e9e9eb}.dark-mode .button-spinner{border:2px solid rgba(255,255,255,.3);border-top-color:#fff}
