.chat-nav-button { display:inline-flex;align-items:center;gap:.45rem;min-height:42px;padding:.55rem .85rem;border:1px solid var(--lime);background:transparent;color:var(--white);font:inherit;font-size:.78rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap; }
.chat-nav-icon { display:block;width:23px;height:23px;flex:0 0 23px; }
.chat-nav-button:hover { color:var(--ink);background:var(--lime);border-color:var(--lime); }
.chat-panel { position:fixed;inset:66px 0 0 auto;width:min(100%,30rem);height:calc(100dvh - 66px);max-width:none;max-height:none;margin:0;padding:0;border:0;color:var(--ink);background:var(--paper);box-shadow:-12px 0 35px rgba(7,17,31,.22);overflow:hidden; }
.chat-panel[open] { display:flex;flex-direction:column;animation:chat-in .2s ease-out; }
.chat-panel::backdrop { background:rgba(7,17,31,.56);backdrop-filter:blur(2px); }
@keyframes chat-in { from { transform:translateX(2rem);opacity:.4; } to { transform:translateX(0);opacity:1; } }
.chat-panel-header { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.25rem;background:var(--ink);color:var(--white);border-bottom:4px solid var(--lime); }
.chat-panel-header .kicker { margin:0 0 .25rem;color:var(--cyan);font-size:.67rem; }
.chat-panel-header h2 { margin:0;font-size:clamp(2rem,8vw,3rem);line-height:1; }
.chat-close { display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.4);background:transparent;color:var(--white);font:300 2rem/1 var(--sans);cursor:pointer; }
.chat-close:hover { color:var(--ink);background:var(--lime);border-color:var(--lime); }
.chat-panel-body { flex:1;min-height:0;padding:1.25rem;overflow-y:auto;overscroll-behavior:contain; }
.chat-intro { margin:0 0 1.25rem;max-width:45rem;font-size:.96rem; }
.chat-shell { max-width:52rem;padding:1rem;border:1px solid var(--ink);background:var(--white);box-shadow:4px 4px 0 var(--ink); }
.chat-suggestions { display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem; }
.chat-suggestions button, .chat-reset { font:inherit;font-size:.95rem;cursor:pointer;border:1px solid var(--ink);background:transparent;padding:.6rem .8rem;max-width:100%;text-align:left; }
.chat-suggestions button:hover { background:var(--lime); }
.chat-log { display:grid;gap:1rem; }
.chat-message { padding:1rem;margin-bottom:1rem;border-left:3px solid var(--cyan);background:var(--paper);min-width:0; }
.chat-user { border-color:var(--ink);background:transparent; }
.chat-message strong { font-family:var(--mono);font-size:.9rem; }
.chat-message p { white-space:pre-wrap;margin:.5rem 0;font-size:1rem;line-height:1.6;overflow-wrap:anywhere; }
.chat-message span { display:block;margin-top:1rem;font-size:.875rem; }
.chat-message ul { padding-left:1.2rem;margin:.5rem 0 0; }
.chat-message a { font-size:.95rem;overflow-wrap:anywhere;text-underline-offset:3px; }
.chat-form label { display:block;font-weight:700;margin-bottom:.5rem; }
.chat-form textarea { display:block;width:100%;min-height:6rem;padding:.8rem;resize:vertical;border:1px solid var(--ink);font:inherit;font-size:1rem;border-radius:0;background:var(--white);color:var(--ink); }
.chat-controls { display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:.8rem; }
.chat-submit { font:inherit;font-weight:750;background:var(--ink);color:var(--white);border:1px solid var(--ink);padding:.7rem 1.2rem;cursor:pointer;min-height:44px; }
.chat-submit:disabled { opacity:.6;cursor:wait; }
.chat-status { min-height:1.6rem;margin:.8rem 0;font-size:.95rem; }
.chat-privacy { max-width:52rem;font-size:.82rem;line-height:1.5;margin:1.25rem 0 0; }
@media(max-width:760px){.topbar{gap:.65rem}.chat-nav-button{margin-left:auto}.brand>span:last-child{display:none}}
@media(max-width:480px){.chat-nav-button{padding:.5rem .65rem;font-size:.72rem}.chat-panel-body{padding:1rem}.chat-controls>*{flex:1;text-align:center}.chat-shell{box-shadow:3px 3px 0 var(--ink)}.chat-suggestions{display:grid}.chat-panel-header{padding:1rem}}
@media(prefers-reduced-motion:reduce){.chat-panel[open]{animation:none}}
