/* Research Lens (Claude): right-hand sheet on laptops, full-screen sheet on phones, full page on assistant.html */
.lens2{--l-pad:22px;position:fixed;z-index:60;top:0;right:0;bottom:0;width:min(460px,100vw);display:flex;flex-direction:column;
  background:#050505;color:var(--ink);border-left:1px solid var(--line);box-shadow:-30px 0 80px rgb(0 0 0 / .6);font-family:var(--body)}
.lens2[hidden]{display:none}
.lens2.is-page{position:relative;width:auto;max-width:860px;margin:28px auto 64px;min-height:72vh;border:1px solid var(--line);box-shadow:none;z-index:1}
@media (max-width:640px){.lens2{width:100vw;border-left:0;--l-pad:16px}.lens2-studio{display:none}html.lens2-open{overflow:hidden}.lens2.is-page{margin:16px 0 48px;min-height:80vh}}
.lens2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

.lens2-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px var(--l-pad);border-bottom:1px solid var(--line);
  padding-top:max(14px,env(safe-area-inset-top,0px))}
.lens2-brand{display:flex;align-items:center;gap:12px}
.lens2-brand b{display:block;font-size:15px;letter-spacing:-.01em}
.lens2-brand small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.lens2-orb{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 8%,var(--accent) 22%,#5c6a00 70%,transparent 72%);
  box-shadow:0 0 0 1px #2b2b2b,0 0 22px rgb(228 255 26 / .35)}
.is-busy .lens2-orb{animation:lens2-pulse 1.2s ease-in-out infinite}
@keyframes lens2-pulse{50%{box-shadow:0 0 0 1px #2b2b2b,0 0 34px rgb(228 255 26 / .8);transform:scale(1.08)}}
.lens2-tools{display:flex;gap:8px;align-items:center}
.lens2-new,.lens2-close{white-space:nowrap;background:none;border:1px solid var(--line);color:var(--muted);border-radius:999px;font:12px var(--mono);padding:6px 12px;cursor:pointer}
.lens2-close{font-size:18px;line-height:1;padding:4px 11px}
.lens2-new:hover,.lens2-close:hover{color:var(--ink);border-color:var(--muted)}

.lens2-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:22px var(--l-pad) 8px;scroll-behavior:smooth}
.lens2-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent);margin:0 0 10px}
.lens2-intro h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,6vw,40px);line-height:1.05;margin:0 0 12px}
.lens2-lede{color:var(--muted);font-size:15.5px;line-height:1.55;margin:0 0 20px}
.lens2-paths{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.lens2-path{background:#050505}
.lens2-path summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:28px 1fr;column-gap:10px;padding:13px 14px}
.lens2-path summary::-webkit-details-marker{display:none}
.lens2-path summary span{font-family:var(--mono);font-size:11px;color:var(--accent);padding-top:3px;grid-row:span 2}
.lens2-path summary b{font-size:15px;font-weight:600}
.lens2-path summary small{color:var(--muted);font-size:13px}
.lens2-path[open] summary,.lens2-path summary:hover{background:#0d0d0d}
.lens2-qs{display:grid;gap:6px;padding:4px 14px 14px 52px;background:#0d0d0d}
.lens2-qs button,.lens2-follow button,.lens2-context{all:unset;cursor:pointer;font-size:14px;line-height:1.4;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:8px 12px;background:#000}
.lens2-qs button:hover,.lens2-follow button:hover,.lens2-context:hover{border-color:var(--accent);color:var(--accent)}
.lens2-context{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:12px;border-radius:999px}
.lens2-langs{margin:16px 0 0;color:#666;font-family:var(--mono);font-size:11px;letter-spacing:.06em}

.lens2-log{display:grid;gap:18px}
.lens2-msg.is-user{justify-self:end;max-width:88%;background:#141414;border:1px solid var(--line);border-radius:16px 16px 4px 16px;padding:10px 14px;font-size:15px;line-height:1.5;white-space:pre-wrap}
.lens2-msg.is-ai{max-width:100%}
.lens2-answer{font-size:15.5px;line-height:1.65}
.lens2-answer p{margin:0 0 10px;max-width:none}
.lens2-answer ul,.lens2-answer ol{margin:0 0 10px;padding-inline-start:1.2em}
.lens2-answer li{margin:3px 0}
.lens2-answer strong{color:#fff}
.lens2-error{color:#ffb4a8}
.lens-cite{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;margin:0 1px;border-radius:9px;background:var(--accent-soft);color:var(--accent);
  font:600 10.5px var(--mono);text-decoration:none;vertical-align:2px}
.lens-cite:hover{background:var(--accent);color:#000}
.lens2-caret{display:inline-block;width:8px;height:16px;background:var(--accent);vertical-align:-2px;margin-inline-start:2px;animation:lens2-blink 1s steps(2) infinite}
@keyframes lens2-blink{50%{opacity:0}}

.lens2-trail{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin:0 0 10px;display:grid;gap:5px}
.lens2-trail summary{cursor:pointer;color:#777;list-style:none}
.lens2-trail summary::before{content:"▸ ";color:var(--accent)}
.lens2-trail[open] summary::before{content:"▾ "}
.lens2-trail[open]{gap:5px}
.lens2-step{display:flex;gap:8px;align-items:baseline}
.lens2-step i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);transform:translateY(-1px)}
.lens2-trail.is-live .lens2-step:last-child i{animation:lens2-blink .8s steps(2) infinite}
.lens2-step em{font-style:normal;color:var(--ink)}

.lens2-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.lens2-sources a{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:9px 11px;background:#0a0a0a;min-width:0}
.lens2-sources a:hover{border-color:var(--accent)}
.lens2-sources span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.lens2-sources b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:500;line-height:1.35}
@media (max-width:420px){.lens2-sources{grid-template-columns:1fr}}
.lens2-follow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

.lens-email{border:1px solid var(--accent);border-radius:8px;margin:12px 0;background:#0a0a0a;overflow:hidden}
.lens-email.is-writing{border-style:dashed}
.lens-email-head{padding:10px 14px;border-bottom:1px solid var(--line)}
.lens-email-head span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.lens-email pre{margin:0;padding:12px 14px;white-space:pre-wrap;font:14px/1.55 var(--body);color:var(--ink);max-height:300px;overflow:auto}
.lens-email-actions{display:flex;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--muted)}
.lens-email-actions a,.lens-email-actions button{all:unset;cursor:pointer;padding:7px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink)}
.lens-email-actions a{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}

.lens2-form{position:relative;padding:12px var(--l-pad) max(12px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#050505}
.lens2-form textarea{min-height:48px;width:100%;resize:none;background:#111;color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:12px 52px 12px 16px;
  font:16px/1.4 var(--body);max-height:160px;display:block}
.lens2-form textarea:focus{outline:none;border-color:var(--accent)}
.lens2-send{position:absolute;right:calc(var(--l-pad) + 7px);top:19px;width:34px;height:34px;border-radius:50%;border:0;background:var(--accent);color:#000;font:700 17px var(--body);cursor:pointer}
.is-busy .lens2-send span{display:none}
.is-busy .lens2-send::before{content:"";display:block;width:11px;height:11px;margin:auto;background:#000;border-radius:2px}
.lens2-note{margin:8px 4px 0;font-size:11.5px;color:#777;line-height:1.4;max-width:none}
@media (prefers-reduced-motion: reduce){.lens2 *{animation:none!important;scroll-behavior:auto!important}}
