:root{--background-color:#fff;--text-color:#333;--gray-100:#f7fafc;--gray-200:#edf2f7;--shadow-color:rgba(0,0,0,.1);--menu-bg:#fff;--menu-border:#ccc;--footer-bg:#f9f9f9;--glow-color:#0fc;--glow-accent:#0f9}[data-theme=dark]{--background-color:#1a202c;--text-color:#e2e8f0;--gray-100:#2d3748;--gray-200:#4a5568;--shadow-color:rgba(0,0,0,.3);--menu-bg:#2d3748;--menu-border:#4a5568;--footer-bg:#2d3748;--glow-color:#00b7b7;--glow-accent:#007a7a}body{font-family:Arial,sans-serif;margin:0;padding:0;background-color:var(--background-color);color:var(--text-color);-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}.content,body{overflow-x:hidden}.content{max-width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center;min-height:100vh;position:relative;transition:opacity .3s ease;background-color:transparent}.content.menu-open{opacity:.7}.header{position:fixed;top:10px;right:10px;z-index:20;display:flex;align-items:center;gap:10px}.hamburger,.theme-toggle{font-size:24px;background:none;border:none;cursor:pointer;padding:10px;color:var(--text-color);transition:transform .2s ease,background-color .2s ease;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.hamburger:hover,.theme-toggle:hover{background-color:var(--gray-100);transform:scale(1.1)}.hamburger:focus,.theme-toggle:focus{outline:none;box-shadow:0 0 5px var(--shadow-color)}.menu-placeholder{height:0}.menu{position:fixed;top:0;right:0;width:20vw;height:100%;background-color:var(--menu-bg);border-left:1px solid var(--menu-border);box-shadow:-2px 0 5px var(--shadow-color);transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;padding:20px 0 20px 20px;z-index:15;overflow-y:hidden}.menu-open .menu{transform:translateX(0)}.menu-item{padding:15px;font-size:clamp(14px,2vw,16px);background:none;border:none;text-align:left;cursor:pointer;color:var(--text-color);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease,opacity .3s ease;opacity:0;transform:translateX(20px)}.menu-item,.menu-open .menu-item{animation:slideIn .3s ease forwards}@keyframes slideIn{to{opacity:1;transform:translateX(0)}}.menu-item:hover{background-color:var(--gray-100);transform:scale(1.02);box-shadow:0 2px 5px var(--shadow-color)}.menu-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:0;background-color:rgba(0,0,0,.3);z-index:5;transition:height .3s ease}.menu-open .menu-overlay{display:block;height:100%}.image-container{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:20px;width:68%;max-width:822.8px;padding:10px;animation:fadeIn 1s ease forwards}.tagline{font-size:clamp(14px,2vw,16px);text-align:center;margin-top:10px}.response,.tagline{color:var(--text-color)}.response{margin:20px 20vh;padding:15px;width:90%;max-width:1200px;text-align:left;font-size:clamp(18px,2.8vw,22px);line-height:1.5;opacity:0;transform:translateY(10px);animation:fadeInUp .5s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.loading{padding:15px;width:90%;max-width:1200px;text-align:center;font-size:clamp(16px,2.5vw,20px);margin:20px 0 120px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text-color)}.spinner{width:24px;height:24px;border-top:3px solid var(--text-color);border:3px solid var(--text-color);border-top-color:var(--glow-color);border-radius:50%;animation:spin 1s linear infinite;margin-left:10px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.prose{max-width:1200px;margin:0 auto;color:var(--text-color)}.prose h1,.prose h2,.prose h3{font-weight:700;margin-top:1.5em;margin-bottom:.5em}.prose p{margin-bottom:1em}.prose ol,.prose ul{margin-bottom:1em;padding-left:2em}.prose li{margin-bottom:.5em}.input-section{display:flex;justify-content:center;align-items:center;width:100%;padding:10px 0;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease}.input-section.sticky{position:fixed;bottom:0;top:auto;transform:translateY(0);left:0;right:0;background-color:var(--background-color);box-shadow:0 -2px 5px var(--shadow-color)}.input-container{display:flex;align-items:center;width:90%;max-width:600px;border:1px solid var(--menu-border);border-radius:5px;overflow:hidden;height:60px}.send-button{padding:10px 20px;font-size:clamp(calc(2vh/2 + 2vw/2),calc(2vh/2 + 2vw/2),calc(3vh/2 + 3vw/2));background-color:#000;color:#fff;border:none;cursor:pointer;height:100%}.send-button.shaking{animation:shake .5s ease infinite,pulse 1s ease infinite}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-3px) rotate(-2deg)}75%{transform:translateX(3px) rotate(2deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.input-box{padding:15px;font-size:clamp(14px,2vw,16px);flex-grow:1;border:none;outline:none;height:100%;background-color:var(--background-color);color:var(--text-color);box-shadow:0 0 5px var(--glow-color);animation:breathe 2s ease-in-out infinite}@keyframes breathe{0%,to{box-shadow:0 0 5px var(--glow-color);transform:scale(1)}50%{box-shadow:0 0 15px var(--glow-color),0 0 20px var(--glow-accent);transform:scale(1.02)}}.follow-up-buttons{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;margin-right:1vh;margin-top:5vw;gap:10px;max-width:80%}.follow-up-button{margin-top:.5rem;border-radius:9999px;text-align:center;padding:10px 20px;font-size:clamp(14px,2vw,16px);background-color:var(--gray-100);color:var(--text-color);transition:background-color .2s ease}.follow-up-button:hover{background-color:var(--gray-200)}.footer{width:100%;text-align:center;padding:10px 0;font-size:clamp(12px,1.5vw,14px);color:var(--text-color);margin-top:auto;background-color:var(--footer-bg)}@media (max-width:768px){.header{position:absolute;top:0;left:0;right:0;text-align:center;z-index:20;display:flex;justify-content:center;gap:0}.hamburger,.theme-toggle{width:50%;height:50px;font-size:24px;background:none;border:none;cursor:pointer;padding:0;border-radius:0;color:var(--text-color);transition:background-color .2s ease}.hamburger:hover,.theme-toggle:hover{background-color:var(--gray-100);transform:none}.hamburger:focus,.theme-toggle:focus{outline:none;box-shadow:none}.menu-placeholder{height:50px;width:100%}.menu{position:fixed;top:50px;left:0;right:0;width:100%;height:auto;max-height:150px;background-color:var(--menu-bg);border-bottom:1px solid var(--menu-border);box-shadow:0 2px 5px var(--shadow-color);transform:translateY(-100%);transition:transform .3s ease;display:flex;flex-direction:column;padding:10px 0;z-index:15;overflow-y:hidden}.menu-open .menu{transform:translateY(0)}.menu-item{padding:10px;font-size:clamp(12px,1.8vw,14px);text-align:center;cursor:pointer;color:var(--text-color);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease,opacity .3s ease}.menu-item:hover{background-color:var(--gray-100);transform:scale(1.02);box-shadow:0 2px 5px var(--shadow-color)}.menu-overlay{position:fixed;top:50px;left:0;right:0;height:0;background-color:rgba(0,0,0,.3);z-index:5;transition:height .3s ease}.menu-open .menu-overlay{height:150px}.image-container{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:80px;width:95%;max-width:600px;padding:5px}.tagline{font-size:clamp(12px,1.8vw,14px)}.loading,.response{width:95%;padding:10px;font-size:clamp(16px,2.5vw,20px);margin-bottom:100px}.spinner{width:20px;height:20px;border-top:2px solid var(--text-color);border:2px solid var(--text-color);border-top-color:var(--glow-color);border-radius:50%;animation:spin 1s linear infinite;margin-left:8px}.input-section{top:60%;transform:translateY(-50%);transition:all .3s ease}.input-section.sticky{top:auto;bottom:0;transform:translateY(0)}.input-container{width:95%;height:50px}.input-box,.send-button{font-size:clamp(12px,1.8vw,14px)}.input-box{box-shadow:0 0 5px var(--glow-color);animation:breathe 2s ease-in-out infinite}.follow-up-buttons{flex-direction:column;margin-right:5vw;margin-left:auto;max-width:90%}.follow-up-button{margin-top:.5rem;border-radius:9999px;text-align:right;padding:6px 12px;font-size:clamp(12px,1.6vw,14px);width:100%;white-space:normal;word-wrap:break-word;max-width:90%;line-height:1.2}.footer{font-size:clamp(10px,1.5vw,12px)}}