/* Lightweight, offline-ready motion and conversation tools. */
.auth-hero,body.dark .auth-hero {background:radial-gradient(ellipse at 95% 5%,#1b807e 0,transparent 48%),linear-gradient(150deg,#123c54,#0b293a);color:#f2fcff;isolation:isolate}
.auth-hero>.eyebrow {color:#8bdfce}.auth-hero>p {color:#b9d4dd}.auth-hero>.logo {margin-bottom:26px;box-shadow:0 0 45px #68dcca33}
.auth-points span {background:#ffffff09;color:#c9e5eb;border-color:#ffffff24;font-size:11px}
.auth-scene {width:100%;position:relative;padding:15px 0;isolation:isolate}
.scene-orbit {position:absolute;z-index:-1;width:320px;height:320px;border:1px solid #7bdace29;border-radius:50%;left:10%;top:-25%;animation:orbit-drift 12s ease-in-out infinite alternate}
.orbit-two {width:250px;height:250px;left:22%;top:-10%;animation-delay:-5s;border-style:dashed}
.scene-spark {position:absolute;width:10px;height:10px;border-radius:50%;background:#85e7d1;box-shadow:0 0 22px #85e7d1;animation:spark-float 5s ease-in-out infinite}
.spark-one {top:4%;left:8%}.spark-two {right:1%;bottom:20%;width:6px;height:6px;animation-delay:-2s}
.auth-conversation {position:relative;max-width:400px;margin:12px 0;gap:14px}
.auth-conversation .sample-message {display:flex;align-items:center;gap:12px;background:#ffffff;color:#153543;border:1px solid #ffffff55;border-radius:19px 19px 19px 5px;box-shadow:0 15px 40px #0002;padding:17px 19px;animation:message-float 6s ease-in-out infinite}
.sample-avatar {background:#e4f3ee;color:#176d65;display:grid;place-items:center;width:33px;height:33px;border-radius:11px;font-weight:700}
.sample-message small {display:block;font-size:9px;color:#718994;margin-top:2px}
.auth-conversation .sample-message.mine {align-self:flex-end;background:#a8e7d8;color:#133e38;border-radius:19px 19px 5px 19px;animation-delay:-3s}
.sample-check {font-size:11px;color:#1c7465;margin-left:5px}
.sample-typing {display:flex;gap:5px;padding:15px 18px;border:1px solid #ffffff30;border-radius:16px;width:max-content;background:#ffffff12}
.sample-typing i {width:6px;height:6px;background:#b1e4e3;border-radius:50%;animation:typing-bounce 1.5s ease-in-out infinite}
.sample-typing i:nth-child(2){animation-delay:.18s}.sample-typing i:nth-child(3){animation-delay:.36s}
.auth-conversation>span {color:#a8c9d4}.auth-card {position:relative;padding-top:52px}
.motion-control {position:absolute;right:14px;top:6px;border:1px solid var(--border);background:var(--panel2);color:var(--muted);font-size:10px;border-radius:20px;padding:7px 11px}
.auth-mobile-brand {display:none}.auth-shell.motion-paused * {animation-play-state:paused!important}
.auth-shell.hidden * {animation-play-state:paused!important}
.tool-results {display:grid;gap:9px;margin-top:18px;max-height:48dvh;overflow:auto;overflow-wrap:anywhere}
.tool-result {width:100%;display:flex;gap:12px;align-items:center;text-align:left;background:var(--panel2);border:1px solid var(--border);border-radius:13px;color:var(--text);padding:13px;min-width:0}
.tool-result:hover {border-color:var(--brand)}.tool-result b {display:block;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:130px;overflow:auto}.tool-result small {display:block;color:var(--muted);font-size:11px}
.saved-row {display:flex;align-items:center;gap:7px}.saved-row .tool-result {display:block;flex:1}.saved-row .icon-btn {flex:none}
.forward-preview {max-height:130px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--brand-soft);border-left:3px solid var(--brand);padding:15px;margin:18px 0;border-radius:0 12px 12px 0}
.message-details {display:grid;grid-template-columns:95px 1fr;gap:14px;margin:24px 0}.message-details dt {color:var(--muted)}.message-details dd {margin:0;overflow-wrap:anywhere}
.receipt-row {padding:12px;background:var(--panel2);border-radius:12px;display:grid;gap:3px}.receipt-row span {color:var(--muted);font-size:12px}
.bubble .text a {color:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.message-highlight .bubble {outline:3px solid var(--brand);outline-offset:4px}
.photo-open {display:block;border:0;padding:0;background:none;border-radius:12px;overflow:hidden;max-width:100%}
.photo-open .attachment-image {margin:0;max-width:100%}
.photo-stage {height:min(55dvh,500px);background:#0d1b24;border-radius:15px;display:flex;align-items:center;justify-content:center;overflow:auto;margin:18px 0;color:#b9d4dd}
.photo-stage img {max-width:100%;max-height:100%;object-fit:contain;flex:none}.photo-stage.zoomed {display:block}.photo-stage.zoomed img {max-width:none;max-height:none;width:200%}
.photo-toolbar {display:flex;align-items:center;gap:12px}.photo-toolbar span {min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:12px}
.voice-card {min-width:0!important;max-width:100%;gap:6px;flex-wrap:wrap}.voice-card audio {width:240px;max-width:100%!important;min-width:0}.voice-speed {border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:11px;font-weight:700;border-radius:15px;padding:7px 11px;min-width:46px}
.side-bottom {display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px}.side-bottom button {min-height:36px}
@keyframes message-float {0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@keyframes orbit-drift {from{transform:translate(-10px,0) rotate(0)}to{transform:translate(14px,12px) rotate(35deg)}}
@keyframes spark-float {0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-15px);opacity:1}}
@keyframes typing-bounce {0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
@media(max-width:820px){
  .auth-shell {display:flex;flex-direction:column;justify-content:flex-start;gap:20px;padding:12px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .auth-hero {display:flex;width:min(430px,100%);min-height:220px;flex-shrink:0;padding:24px;border-radius:23px}
  .auth-hero>.logo,.auth-hero>.eyebrow,.auth-hero>p,.auth-points {display:none}
  .auth-hero h1 {font-size:29px;line-height:1.08;letter-spacing:-.04em;z-index:1}
  .auth-hero h1 br {display:none}.auth-scene {padding:0;margin-top:12px}.auth-conversation {margin:0;gap:8px;max-width:100%}
  .auth-conversation .sample-message {font-size:11px;padding:9px 13px;max-width:90%}.sample-avatar {height:25px;width:25px;font-size:11px}.sample-message small {font-size:8px}
  .sample-typing,.auth-conversation>span {display:none}.scene-orbit {width:230px;height:230px;top:-110px}.orbit-two {height:175px;width:175px}.spark-one {left:95%;top:-50px}
  .auth-card {margin:0;width:min(410px,100%);padding:12px 10px 26px}.auth-mobile-brand {display:flex;align-items:center;gap:10px;margin:0 0 27px}.auth-mobile-brand b {display:block;font-size:16px}.auth-mobile-brand span {display:block;color:var(--muted);font-size:10px}.auth-mobile-brand .logo {width:36px;height:36px;border-radius:12px}
  .motion-control {position:static;float:right;font-size:9px;margin:0 0 12px 8px}.auth-tabs {clear:both;margin-bottom:18px}.auth-card .stack input {font-size:16px}
  .tool-results {max-height:50dvh}.voice-card audio {width:205px}
}
@media(prefers-reduced-motion:reduce){.auth-shell * {animation:none!important}.motion-control {display:none}}
body.panwar-reduced-motion .auth-shell * {animation:none!important}
