:root{--color-primary: #9683EC;--color-secondary: #2A2D3E;--color-accent: #FFD700;--color-background: #1E1E2E;--color-text: #FFFFFF;--color-user-msg: #2A2D3E;--color-gorlea-msg: #2A2D3E;--color-input-bg: #252538;--header-height: 60px;--footer-height: 80px;--max-width: 800px;--transition-speed: .3s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;background-color:var(--color-background);color:var(--color-text)}.app,.docs-app,.auth-container,.landing-container{opacity:0;transition:opacity .4s ease-in-out}.app.loaded,.docs-app.loaded,.auth-container.loaded,.landing-container.loaded{opacity:1}.app{height:100vh;display:flex;flex-direction:column}.chat-header{padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.header-content{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;gap:1rem;justify-content:flex-end}.header-content .logo{width:40px;height:40px;margin-right:auto}.user-email-indicator{font-size:.85rem;color:var(--color-text);margin:0 .5rem;padding:.4rem 0;white-space:nowrap;opacity:.8}.header-button{background-color:var(--color-secondary);color:var(--color-text);border:none;border-radius:24px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:2rem;opacity:1;transition:opacity .3s ease-out}.welcome-screen.hidden{opacity:0;pointer-events:none}.welcome-logo{width:80px;height:80px;margin-bottom:1.5rem;object-fit:contain}.welcome-screen h1{font-size:2rem;font-weight:500;color:var(--color-text);margin:0}.chat-container{flex:1;overflow-y:auto;padding:1rem 1rem calc(var(--footer-height) + 20px);max-width:var(--max-width);margin:0 auto;width:100%}.messages{display:flex;flex-direction:column;gap:1rem}.message{display:flex;flex-direction:column;max-width:85%}.user-message{align-self:flex-end}.user-message .message-content{background-color:var(--color-user-msg);border-radius:12px;padding:.8rem 1rem;color:var(--color-text);box-shadow:0 2px 8px #0000001a;border-right:4px solid var(--color-accent)}.gorlea-message{align-self:flex-start;margin-bottom:1rem}.gorlea-message .message-content{background-color:transparent;color:var(--color-text);border-radius:0;padding:0;box-shadow:none;border-left:none}.gorlea-header{display:flex;align-items:center;margin-bottom:.5rem;color:var(--color-accent);font-weight:500}.message-logo{width:24px;height:24px;margin-right:.5rem;object-fit:contain}.gorlea-message ul{margin:.5rem 0;padding-left:1.5rem}.gorlea-message li{margin:.25rem 0}.message.loading .message-content{opacity:.7}.message.error .message-content{border-left-color:#f44}.input-area{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-background);padding:1rem;border-top:1px solid rgba(255,255,255,.1);z-index:900;width:100vw;max-width:100vw;box-sizing:border-box}.input-container{display:flex;gap:.5rem;max-width:var(--max-width);margin:0 auto;background-color:var(--color-input-bg);border-radius:24px;padding:.5rem;box-shadow:0 2px 8px #0003;border:1px solid rgba(255,255,255,.1)}textarea{flex:1;border:none;background:none;resize:none;padding:.5rem 1rem;font-size:1rem;font-family:inherit;line-height:1.4;max-height:150px;min-height:2.5rem;outline:none;color:var(--color-text);caret-color:var(--color-primary);overflow-y:auto;word-break:break-word;white-space:pre-wrap}.send-button{background-color:var(--color-primary);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.send-button:hover{background-color:#8673dc}.send-icon{width:24px;height:24px;fill:#fff}.new-chat-button{background-color:var(--color-secondary);border:1px solid var(--color-primary);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,border-color .2s;padding:0}.docs-button{background-color:var(--color-accent);color:var(--color-secondary);text-decoration:none}.docs-button:hover{background-color:color-mix(in srgb,var(--color-accent) 90%,white 10%)}.new-chat-button{border:1px solid var(--color-primary);padding:0;width:auto;height:auto;display:inline-flex;vertical-align:middle}.new-chat-button svg{width:20px;height:20px;fill:var(--color-text)}.new-chat-button:hover{background-color:var(--color-input-bg);border-color:var(--color-accent)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#fff3}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.message{animation:slideIn .3s ease-out}.landing-content{animation:fadeIn 1s ease-out}.reveal-block{opacity:0;animation:revealBlockFadeIn .3s ease-out forwards}@keyframes revealBlockFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.reveal-block{opacity:0;animation:revealBlockFadeIn .4s ease-out forwards;display:block;margin-bottom:.5em}.reveal-block:is(span){display:inline;margin-bottom:0}.typing-cursor{display:inline-block;background-color:var(--color-text);margin-left:1px;width:8px;height:1em;animation:blink 1s step-end infinite;vertical-align:bottom}@keyframes blink{0%,to{background-color:transparent}50%{background-color:var(--color-text)}}.auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.auth-logo{width:60px;height:60px;margin-bottom:1.5rem}.auth-container h1{font-size:1.8rem;font-weight:500;color:var(--color-text);margin-bottom:1.5rem}.auth-container form{width:100%;max-width:350px;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.3rem;font-size:.9rem;color:var(--color-text)}.form-group input{padding:.8rem 1rem;background-color:var(--color-input-bg);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--color-text);font-size:1rem;outline:none;transition:border-color .2s}.form-group input:focus{border-color:var(--color-primary)}.auth-container button[type=submit]{background-color:var(--color-primary);color:var(--color-text);border:none;border-radius:8px;padding:.8rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.auth-container button[type=submit]:hover{background-color:#8673dc}.error-message{color:#ff6b6b;font-size:.9rem;margin-top:.5rem;min-height:1.2em;text-align:center}.auth-switch{margin-top:1.5rem;font-size:.9rem;color:#ffffffb3}.auth-switch a{color:var(--color-accent);text-decoration:none;font-weight:500}.user-email-indicator{color:#ccc;margin-right:15px;font-size:.9em;align-self:center}.auth-switch a:hover{text-decoration:underline}#mobile-nav,#hamburger-menu.mobile-only{display:none}.desktop-nav.desktop-only{display:flex;align-items:center;gap:.5rem}.gorlea-button{background-color:var(--color-accent);color:var(--color-secondary);border:none;border-radius:8px;padding:.5rem 1.25rem;font-size:.95rem;font-weight:600;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;text-decoration:none;box-shadow:0 2px 4px #0000001a;line-height:1}.gorlea-button:hover{background-color:color-mix(in srgb,var(--color-accent) 90%,white 10%);transform:translateY(-1px);box-shadow:0 3px 6px #00000026}.gorlea-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a;background-color:color-mix(in srgb,var(--color-accent) 80%,black 20%)}.gorlea-button:focus{outline:2px solid rgba(255,215,0,.5);outline-offset:2px}@media (max-width: 768px){body{font-size:16px;padding:0 1rem}header,.doc-card,.editor-toolbar,.note-chat-wrapper{flex-direction:column;align-items:stretch}.editor-toolbar button,.doc-card button,.logout-btn,.home-btn{width:100%;margin-bottom:.5rem}.doc-card{padding:1rem;margin-bottom:1rem}.note-chat-wrapper{padding:1rem}.note-chat-wrapper textarea{width:100%;font-size:1rem}.editor-toolbar{flex-wrap:wrap;overflow-x:auto}.header-content{flex-wrap:wrap;justify-content:space-between;gap:.5rem}.gorlea-button{width:100%;margin-bottom:.5rem;min-width:0;box-sizing:border-box}.user-email-indicator{font-size:.95rem;word-break:break-all;margin-bottom:.5rem}.chat-header{padding:.5rem .5rem 0}.app,.chat-container{padding:.5rem .25rem 5.5rem;min-height:100vh;box-sizing:border-box}.chat-container{overflow-y:auto;max-height:calc(100vh - var(--header-height) - 90px);padding-bottom:7rem}.message-input,.note-chat-wrapper textarea{width:100%;font-size:1rem;max-width:100vw;box-sizing:border-box;margin:0 auto;resize:none;overflow-y:auto;word-break:break-word;white-space:pre-wrap;height:auto;max-height:150px;z-index:100}.note-chat-wrapper{padding-bottom:5.5rem}}@media (max-width: 768px){header.chat-header{height:var(--header-height);padding:0 1rem;position:fixed;top:0;left:0;right:0;background-color:var(--color-background);z-index:950;border-bottom:1px solid rgba(255,255,255,.1)}.header-content{display:flex;justify-content:space-between;align-items:center;height:100%;max-width:var(--max-width);margin:0 auto;padding:0}.header-content .logo{display:block;width:40px;height:40px;margin-right:0;margin-bottom:0}#hamburger-menu.mobile-only{display:flex;width:44px;height:44px;border-radius:50%;padding:0;align-items:center;justify-content:center;font-size:1.5rem;background-color:var(--color-accent);color:var(--color-secondary);border:none;cursor:pointer;margin:0;min-width:auto;min-height:auto;box-shadow:none;flex-grow:0;flex-shrink:0}main.chat-container{padding-top:70px;padding-bottom:calc(var(--footer-height) + 20px)}#mobile-nav.mobile-nav{position:fixed;top:0;right:-100%;left:auto;width:80%;max-width:300px;height:100%;background-color:var(--color-secondary);padding:20px;z-index:1000;transition:right .3s ease-in-out;box-shadow:-4px 0 15px #0003;overflow-y:auto;display:block}#mobile-nav ul{list-style:none;padding-left:0;margin:0}body.mobile-menu-open #mobile-nav{right:0}.desktop-nav.desktop-only{display:none!important}}
