.sw-demo{margin:22px 0 30px;padding:clamp(16px,3vw,28px);border:1px solid #9cad9e;border-radius:18px;background:#f8f5eb;color:#203e32;min-width:0}.sw-demo h4{font-size:clamp(24px,3vw,32px);margin:6px 0 10px}.sw-demo p{font-size:16px;line-height:1.55;margin:10px 0}.sw-demo button{font:inherit;font-size:16px;min-height:44px;padding:10px 14px;border:1px solid #809989;border-radius:10px;background:#fffdf5;color:#203e32;cursor:pointer}.sw-demo button:hover{background:#ffe1c2}.sw-demo :focus-visible{outline:3px solid #d75d00;outline-offset:3px}.sw-demo button[aria-pressed=true]{background:#203e32;color:white}.sw-chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #bcc8b3}.sw-chat-toolbar>div{display:flex;gap:8px}.sw-chat-thread{height:480px;height:clamp(320px,60svh,560px);overflow-y:auto;overscroll-behavior-y:auto;padding:16px 4px;display:flex;flex-direction:column;gap:16px}.sw-chat-message{flex-shrink:0;max-width:88%;align-self:flex-start;padding:14px;border:1px solid #c4cdbd;border-radius:16px 16px 16px 4px;background:white;overflow-wrap:anywhere;animation:sw-chat-arrive .3s ease-out}.sw-chat-owner{align-self:flex-end;background:#e5eedf;border-radius:16px 16px 4px 16px;border-color:#99ae91}.sw-chat-message>strong{font-size:14px;color:#385344}.sw-chat-card{padding:12px;border-left:3px solid #ef790f;border-radius:6px;background:#f4f0e5;font-size:14px;line-height:1.5}.sw-demo [data-sw-typing]{min-height:44px;font-size:14px;color:#526a5b}.sw-chat-topics summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.sw-projects{display:flex;flex-wrap:wrap;gap:8px}.sw-projects button{flex:1 1 190px}@keyframes sw-chat-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:540px){.sw-chat-message{max-width:94%;padding:12px}.sw-chat-toolbar{align-items:flex-start}.sw-demo{padding:16px}.sw-projects button{flex-basis:100%}}@media(prefers-reduced-motion:reduce){.sw-chat-message{animation:none}}

.sw-chat-draft{border-style:dashed}
.sw-chat-draft .sw-chat-text{min-height:1.55em;white-space:pre-wrap}
.sw-chat-draft .sw-chat-text::after{content:"";display:inline-block;width:2px;height:1em;margin-left:3px;background:currentColor;vertical-align:-.1em}
[data-chat-playing=true] .sw-chat-draft .sw-chat-text::after{animation:sw-chat-caret .8s steps(1) infinite}
@keyframes sw-chat-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.sw-chat-draft .sw-chat-text::after{animation:none}}


.sw-location-map{display:block;width:100%;height:auto;max-height:210px;border-radius:10px;margin:12px 0 6px}
.sw-thread-location small,.sw-home-location small,.sw-observation small{display:block;font-size:12px;line-height:1.5}
.sw-caller-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#087fff;box-shadow:0 0 0 3px #087fff22;margin:0 5px}
.sw-caller-dot[hidden],.sw-home-location[hidden]{display:none}
.sw-home-location{margin:12px;padding:14px;border:1px solid #9cad9e;border-radius:12px;background:#f8f5eb;color:#203e32}
.sw-observation{margin:12px 0 0;position:relative;border:1px solid #99ae91;border-radius:10px;overflow:hidden;background:#102b20;color:#fff}
.sw-observation figcaption{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:14px}
.sw-observation img{display:block;width:100%;height:150px;object-fit:cover}
.sw-observation small{padding:8px 10px}
.sw-incident-pin{animation:sw-pin-drop .65s ease-out;transform-origin:155px 57px}
@keyframes sw-pin-drop{from{transform:translateY(-35px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.sw-incident-pin{animation:none}}
