:root{color-scheme:light dark;--bg: radial-gradient(circle at top left, #2b2355, #14111f 55%);--surface: rgba(19, 17, 29, .82);--surface-alt: rgba(35, 30, 50, .92);--accent: #f25c54;--accent-soft: rgba(242, 92, 84, .16);--text-primary: #f7f4ff;--text-secondary: rgba(239, 232, 255, .72);--text-muted: rgba(239, 232, 255, .56);--shadow-soft: 0 18px 45px rgba(5, 3, 15, .45);font-family:Work Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/worksans/v18/QGYsz_wNahGAdqQ43Rh_fKDpoUY.woff2) format("woff2")}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/cinzel/v21/8vIJ7ww63mVu7gt78mA.woff2) format("woff2")}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text-primary);display:flex;justify-content:center;align-items:stretch;padding:clamp(16px,3vw,40px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{width:min(1280px,100%);min-height:min(920px,calc(100vh - clamp(32px,6vw,80px)));display:grid;grid-template-rows:auto minmax(0,1fr);background:linear-gradient(135deg,#1e192ef5,#0f0d19e0);border-radius:24px;border:1px solid rgba(121,108,171,.24);box-shadow:var(--shadow-soft);overflow:hidden}.app-topbar{padding:18px clamp(18px,2.4vw,34px);display:flex;gap:16px;align-items:center;background:linear-gradient(145deg,#282144e6,#14111fb3);border-bottom:1px solid rgba(110,92,158,.25)}.app-shell{position:relative;min-height:0;display:grid;grid-template-columns:290px minmax(0,1fr)}.side-nav{min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:14px;padding:16px;background:#0c0a13c2;border-right:1px solid rgba(110,92,158,.25);overflow:hidden}.side-nav__section{display:grid;align-content:start;gap:8px}.side-nav__section--history{flex:1;min-height:0}.side-nav__heading{margin:0;color:var(--text-muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.side-nav__label{color:var(--text-muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.side-nav__select{width:100%}.side-nav__button{width:100%;padding:7px 12px;border-radius:10px}.thread-list{flex:1;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:8px;padding-right:4px}.thread-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;overflow:hidden;border:1px solid rgba(121,108,171,.24);border-radius:14px;background:#13101dbd}.thread-item--active{border-color:#f25c5480;background:#f25c541c}.thread-item__open,.thread-item__delete{border:0;background:transparent;color:inherit;cursor:pointer}.thread-item__open{min-width:0;display:grid;gap:4px;padding:9px 8px 9px 10px;text-align:left}.thread-item__title{overflow:hidden;color:var(--text-primary);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.thread-item__date,.thread-list__empty{color:var(--text-muted);font-size:.76rem}.thread-list__empty{margin:0}.thread-item__delete{width:34px;height:auto;border-radius:0;border-left:1px solid rgba(121,108,171,.18);color:var(--text-muted);font-size:1rem}.thread-item__delete:hover{color:#ffd3ca;background:#f25c5424}.chat-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.nav-toggle,.nav-backdrop{display:none}.nav-toggle{width:42px;height:42px;border-radius:12px;border:1px solid rgba(121,108,171,.34);background:#181426c2;color:var(--text-primary);cursor:pointer;place-items:center;gap:4px}.nav-toggle span:not(.sr-only){width:18px;height:2px;border-radius:999px;background:currentColor}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid rgba(121,108,171,.34);border-radius:999px;background:#181426bd;color:var(--text-primary);font:inherit;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .12s ease,transform .12s ease}.button--primary{border-color:#f25c5480;background:linear-gradient(135deg,var(--accent),#f26c6b);color:#120b0d;box-shadow:0 8px 18px #f25c5457}.button--secondary{background:#181426bd}.button--ghost{background:#f25c5414;border-color:#f25c5447}.button--compact{padding:7px 12px;font-size:.9rem}.button--icon{width:34px;height:34px;padding:0;border-radius:10px}.button:not(:disabled):hover{border-color:#f25c5499;transform:translateY(-1px)}.button--primary:not(:disabled):hover{box-shadow:0 10px 22px #f25c546b}.button:disabled{opacity:.55;cursor:wait;box-shadow:none;transform:none}.header{padding:26px clamp(24px,3vw,42px) 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:linear-gradient(145deg,#282144e6,#14111fb3);border-bottom:1px solid rgba(110,92,158,.25)}.header__group{display:flex;flex-direction:column;gap:6px}.header__actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.header__identity{margin-left:auto;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.admin-status{margin:0;padding:0;font-size:.82rem;color:#ffd4c6}.header__reset{padding:10px 20px;border-radius:999px;background:#f25c541a;border:1px solid rgba(242,92,84,.55);color:var(--text-primary);font-weight:600;letter-spacing:.05em;cursor:pointer;transition:background .15s ease,transform .15s ease}.header__reset:hover{background:#f25c5433;transform:translateY(-1px)}.header__reset:disabled{opacity:.45;cursor:not-allowed;transform:none}.history-picker{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.history-picker select{max-width:min(320px,52vw);text-transform:none;letter-spacing:normal}.offline-status{margin:0;padding:11px clamp(18px,2.4vw,34px);border-bottom:1px solid rgba(230,186,94,.25);background:#e6ba5e1a;color:#ffe6b3;font-size:.88rem}.header__title{font-family:Cinzel,serif;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(1.2rem,3.2vw,1.95rem);margin:0}.header__subtitle{color:var(--text-secondary);font-size:clamp(.85rem,1.9vw,1rem);margin:0;flex:1;min-width:240px}.chat{min-height:0;padding:clamp(20px,3vw,36px);overflow-y:auto;display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at top right,#372c5e33,#08061029)}.message{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 14px;padding:18px 20px;border-radius:18px;background:var(--surface);border:1px solid rgba(115,96,162,.28);box-shadow:0 12px 30px #0a061959;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.message--user{background:var(--surface-alt);border-color:#f25c5466}.message__avatar{width:40px;height:40px;grid-row:1 / span 3;align-self:start;border-radius:12px;border:1px solid rgba(242,92,84,.28);background:#0c0a12c2;object-fit:cover;box-shadow:0 8px 18px #05030f47}.message__avatar--user{display:inline-grid;place-items:center;border-radius:50%;color:#140d12;background:linear-gradient(135deg,#f7d8b5,var(--accent));font-size:.78rem;font-weight:700;letter-spacing:.04em}.message__text{margin:0;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap}.message__text strong{color:#fff0f0}.message__text em{color:#ffd9d9db}.message__text code{font-family:Source Code Pro,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;background:#08060cb3;padding:2px 6px;border-radius:6px;border:1px solid rgba(242,92,84,.2);color:#ffe3d5}.message__meta{grid-column:2;font-size:.75rem;color:var(--text-muted)}.citations{grid-column:2;display:grid;gap:8px}.citation{border:1px solid rgba(121,108,171,.22);background:#0f0d178c;border-radius:10px;overflow:hidden}.citation__summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;cursor:pointer}.citation__source{min-width:0;font-size:.74rem;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.citation__index{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:999px;border:1px solid rgba(242,92,84,.32);color:#ffd3ca;font-size:.66rem}.citation__source a{color:inherit}.citation__source-button{flex:0 0 auto;padding:4px 8px;border:1px solid rgba(242,92,84,.28);border-radius:999px;background:#f25c541a;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:none;cursor:pointer}.citation__source-button:hover{color:#ffd3ca}.citation__badge{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:999px;font-size:.65rem;letter-spacing:.03em}.citation__badge--legacy{border:1px solid rgba(242,92,84,.42);color:#ffcfbf}.citation__badge--partnered{border:1px solid rgba(230,186,94,.42);color:#ffe6b3}.citation__snippet{margin:0;padding:0 10px 10px;color:var(--text-muted);font-size:.82rem;line-height:1.45}.resources{grid-column:2;display:grid;gap:8px}.resources__title{font-size:.74rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.resource-link{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;border:1px solid rgba(121,108,171,.22);background:#0f0d176b;color:var(--text-secondary);text-decoration:none}.resource-link:hover{border-color:#f25c546b}.resource-link__label{font-size:.84rem}.resource-link__meta{font-size:.72rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.message__meta time{font-variant-numeric:tabular-nums}.message__meta button{margin-left:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.message__meta button:hover{color:var(--accent)}.composer{display:grid;gap:6px;padding:10px clamp(14px,1.8vw,24px);background:#13111ceb;border-top:1px solid rgba(110,92,158,.25)}.composer__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.composer__textarea{width:100%;min-height:44px;max-height:120px;resize:none;padding:10px 14px;border:1px solid rgba(115,96,162,.35);border-radius:16px;background:#0f0c18b3;color:var(--text-primary);font:inherit;line-height:1.5;box-shadow:inset 0 1px #ebe4ff0a}.composer__textarea:focus{outline:2px solid rgba(242,92,84,.65);outline-offset:2px}.composer__textarea:disabled{opacity:.6;cursor:not-allowed}.composer__status-row{min-height:10px;display:flex;align-items:center}.composer__setting{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-muted)}.composer__setting .auth-card__input{padding:6px 10px;min-width:180px}.composer__button{min-height:44px;text-transform:uppercase}.status{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:.85rem}.status__dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #f25c54cc;animation:pulse 1.6s ease-in-out infinite}.suggestions{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:18px}.suggestions__button{text-align:left;padding:16px 18px;border-radius:16px;border:1px solid rgba(115,96,162,.3);background:#181426b3;color:var(--text-secondary);cursor:pointer;transition:border .15s ease,transform .15s ease}.suggestions__button:hover{border-color:#f25c5473;transform:translateY(-2px)}.suggestions__button:disabled{opacity:.55;cursor:not-allowed;transform:none}.empty-state{display:grid;gap:16px;justify-items:start;padding:clamp(20px,4vw,40px);background:#0c0a128c;border:1px dashed rgba(115,96,162,.35);border-radius:18px}.empty-state__title{font-family:Cinzel,serif;text-transform:uppercase;letter-spacing:.08em;margin:0}.empty-state__body{margin:0;color:var(--text-secondary)}.auth-shell{display:grid;grid-template-rows:auto 1fr auto;min-height:min(90vh,920px)}.auth-header{border-bottom:0}.auth-grid{padding:clamp(20px,3vw,34px);display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,360px));align-content:start;justify-content:center}.auth-card{background:#14111ed1;border:1px solid rgba(121,108,171,.28);border-radius:16px;padding:18px;display:grid;gap:8px;align-self:start}.auth-card__title{margin:0 0 8px;font-family:Cinzel,serif;font-size:1.05rem;letter-spacing:.05em}.auth-card__label{color:var(--text-muted);font-size:.82rem}.auth-card__input{border:1px solid rgba(115,96,162,.35);border-radius:10px;background:#0f0c18b3;color:var(--text-primary);min-height:42px;padding:8px 12px;font:inherit}.auth-card__button{margin-top:8px}.auth-error{margin:0;padding:0 24px 20px;color:#ffc8c0;font-size:.88rem}.pdf-modal-open{overflow:hidden}.pdf-modal[hidden]{display:none}.pdf-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(12px,2vw,28px)}.pdf-modal__backdrop{position:absolute;inset:0;background:#05030cc7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pdf-modal__panel{position:relative;z-index:1;width:min(1040px,100%);max-height:min(92vh,980px);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(242,92,84,.28);border-radius:20px;background:#110e19f7;box-shadow:0 24px 70px #0000008f}.pdf-modal__header,.pdf-modal__toolbar{display:flex;align-items:center;gap:12px;padding:14px clamp(16px,2vw,24px);border-bottom:1px solid rgba(121,108,171,.24)}.pdf-modal__header{justify-content:space-between}.pdf-modal__toolbar{justify-content:center;flex-wrap:wrap}.pdf-modal__title{margin:0;font-family:Cinzel,serif;font-size:1rem;letter-spacing:.07em;text-transform:uppercase}.pdf-modal__status,.pdf-modal__page{margin:4px 0 0;color:var(--text-muted);font-size:.82rem}.pdf-modal__close{padding:9px 14px;border-radius:999px;border:1px solid rgba(242,92,84,.48);background:#f25c541f;color:var(--text-primary);cursor:pointer}.pdf-modal__viewport{position:relative;min-height:0;overflow:auto;padding:12px;display:grid;justify-items:center;align-items:start;background:#07060bd1}.pdf-modal__loading{min-height:min(58vh,680px);width:100%;display:grid;place-items:center;align-content:center;gap:16px;color:var(--text-secondary);text-align:center}.pdf-modal__loading[hidden]{display:none}.pdf-modal__spinner{width:58px;height:58px;border-radius:50%;border:2px solid rgba(242,92,84,.18);border-top-color:var(--accent);border-right-color:#e6ba5edb;box-shadow:0 0 28px #f25c5429,inset 0 0 18px #e6ba5e14;animation:spin .9s linear infinite}.pdf-modal__canvas{max-width:100%;background:#fff;box-shadow:0 14px 35px #00000073}.pdf-modal__canvas[hidden]{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:1}}@media(prefers-reduced-motion:reduce){.pdf-modal__spinner,.status__dot{animation:none}}@media(max-width:768px){body{padding:0}#app{border-radius:0;width:100%;min-height:100vh}.app-topbar{padding:14px 16px}.nav-toggle{display:grid;flex:0 0 auto}.header__subtitle{min-width:0;max-width:54vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__identity{display:none}.app-shell{grid-template-columns:minmax(0,1fr)}.side-nav{position:fixed;inset:0 auto 0 0;z-index:30;width:min(84vw,330px);transform:translate(-102%);transition:transform .18s ease;border-right-color:#f25c5447;box-shadow:20px 0 55px #0000006b}.app-shell--nav-open .side-nav{transform:translate(0)}.nav-backdrop{position:fixed;inset:0;z-index:20;display:block;border:0;background:#05030c8f;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.nav-backdrop[hidden]{display:none}.chat-panel{min-height:0}.composer__textarea{min-height:44px}.composer__button{width:auto}}@media(max-width:420px){.composer__row{grid-template-columns:minmax(0,1fr)}.composer__button{width:100%}.pdf-modal{padding:0}.pdf-modal__panel{width:100%;max-height:100vh;min-height:100vh;border-radius:0}.pdf-modal__header{align-items:flex-start}}
