:root{--navy:#1b202c;--navy-2:#30394f;--cyan:#60d9ff;--cyan-hover:#31c5f4;--cyan-soft:#effbff;--blue:#116b9d;--bg:#f8f9fb;--border:#e6eaf0;--muted:#646d81;--danger:#e74d3c}*{box-sizing:border-box}body{margin:0;font-family:Metropolis,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--navy)}.auth{max-width:380px;margin:12vh auto;background:#fff;padding:32px;border-radius:8px;border-top:4px solid var(--cyan);box-shadow:0 6px 22px rgba(36,43,59,.1)}.auth h1{margin-top:0;color:var(--navy)}.auth input{width:100%;padding:10px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:6px;font-size:15px;background:var(--bg)}.auth input:focus,.composer textarea:focus{outline:2px solid var(--cyan);border-color:var(--cyan)}button{padding:10px 24px;border:0;border-radius:6px;background:var(--cyan);color:var(--navy);font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,box-shadow .2s}button:hover{background:var(--cyan-hover)}button:disabled,button:disabled:hover{background:var(--border);color:var(--muted);cursor:not-allowed}button.link{background:none;color:var(--blue);padding:4px 0;font-weight:500}button.link:hover{background:none;text-decoration:underline}.error{color:var(--danger);margin:0 0 12px}.app{display:flex;height:100vh}.side{width:270px;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:16px 12px;gap:8px}.side .list{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.side .muted{color:#9aa3b8}.side button.link{color:var(--cyan)}.conv{text-align:left;background:none;color:#d6dbe6;font-weight:400;padding:8px 10px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv.active,.conv:hover{background:var(--navy-2)}.conv.active{color:#fff;box-shadow:inset 3px 0 0 var(--cyan)}.main{min-width:0}.main,.msgs{flex:1 1;display:flex;flex-direction:column}.msgs{overflow-y:auto;padding:24px;gap:12px}.msg{max-width:760px;padding:12px 16px;border-radius:8px;background:#fff;border:1px solid var(--border);box-shadow:0 6px 22px rgba(36,43,59,.06)}.msg.user{align-self:flex-end;background:var(--cyan);border-color:var(--cyan);color:var(--navy)}.msg a{color:var(--blue)}.msg p:first-child{margin-top:0}.msg p:last-child{margin-bottom:0}.composer{display:flex;gap:8px;padding:16px;border-top:1px solid var(--border);background:#fff}.composer textarea{flex:1 1;resize:none;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font:inherit;background:var(--bg)}.muted{color:var(--muted)}.sidelink{color:var(--cyan);font-size:14px;padding:4px 0;text-decoration:none}.sidelink:hover{text-decoration:underline}.searchpage{max-width:760px;margin:0 auto;padding:32px 24px}.searchpage .back{color:var(--blue);font-size:14px;text-decoration:none}.searchbar{display:flex;gap:8px;margin:16px 0 24px}.searchbar input{flex:1 1;padding:12px 14px;border:1px solid var(--border);border-radius:6px;font-size:16px;background:#fff}.searchbar input:focus{outline:2px solid var(--cyan);border-color:var(--cyan)}.hit{background:#fff;border:1px solid var(--border);border-radius:8px;padding:14px 18px;margin-bottom:12px;box-shadow:0 6px 22px rgba(36,43,59,.06)}.hit h3{margin:0 0 4px}.hit p{margin:8px 0}.hit a{color:var(--blue)}