@import "https://cdn.jsdelivr.net/npm/@fontsource/latin-modern-roman@5.0.8/index.css";
:root{--bg-color:#fcfbfa;--text-color:#1c1b18;--border-color:#2b2a27;--accent-color:#8b0000;--input-bg:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);text-rendering:optimizelegibility;font-family:Latin Modern Roman,"Latin Modern Roman 10 Regular",Georgia,Times New Roman,serif;font-size:16px;line-height:1.6}.centered-layout{justify-content:center;align-items:center;min-height:100vh;padding:3rem 1.5rem;display:flex}.sidebar-layout{flex-direction:row;width:100%;min-height:100vh;display:flex}.sidebar-main-content{flex-grow:1;justify-content:center;height:100vh;padding:3rem 1.5rem;display:flex;overflow-y:auto}.paper-container{flex-direction:column;width:100%;max-width:720px;min-height:85vh;display:flex;position:relative}.academic-header{text-align:center;margin-bottom:2.5rem}.academic-title{letter-spacing:.5px;margin-bottom:.5rem;font-size:2.2rem;font-weight:400}.academic-subtitle{opacity:.9;margin-bottom:1.5rem;font-size:1.1rem;font-style:italic}.latex-divider{border-top:1.5px solid var(--border-color);border-bottom:.5px solid var(--border-color);height:4px;margin-bottom:2rem}.chat-log{flex-direction:column;flex-grow:1;gap:1.5rem;margin-bottom:2rem;display:flex;overflow-y:auto}.message-block{text-align:justify;text-justify:inter-word}.message-meta{letter-spacing:1px;text-transform:uppercase;border-bottom:.5px dashed var(--border-color);margin-bottom:.35rem;padding-bottom:2px;font-size:.85rem;font-weight:700}.message-meta.user{text-align:right}.message-meta.advisor{text-align:left}.message-content{white-space:pre-wrap;font-size:1.05rem}.input-form{margin-top:auto}.input-row{gap:10px;width:100%;display:flex}.chat-input{background-color:var(--input-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:0;outline:none;flex-grow:1;padding:10px 14px;font-family:inherit;font-size:1.05rem}.chat-input:focus{border-width:1.5px}.submit-btn{background-color:var(--text-color);color:var(--bg-color);border:1px solid var(--border-color);cursor:pointer;border-radius:0;padding:10px 24px;font-family:inherit;font-size:1.05rem;transition:all .15s}.submit-btn:hover{background-color:var(--bg-color);color:var(--text-color)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.status-indicator{opacity:.8;margin-top:8px;font-size:.95rem;font-style:italic}.error-banner{border:1px solid var(--accent-color);color:var(--accent-color);margin-bottom:1rem;padding:10px;font-style:italic}
