.cp.ap .ap-stage .ap-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--ap-border-strong);border-radius:var(--ap-radius-sm);background:var(--ap-surface);color:var(--ap-text);font:inherit;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--ap-duration) var(--ap-ease),border-color var(--ap-duration) var(--ap-ease),box-shadow var(--ap-duration) var(--ap-ease)}.cp.ap .ap-stage .ap-btn:hover{background:var(--ap-surface-2)}.cp.ap .ap-stage .ap-btn:focus-visible{outline:2px solid var(--ap-focus);outline-offset:2px}.cp.ap .ap-stage .ap-btn:disabled,.cp.ap .ap-stage .ap-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.cp.ap .ap-stage .ap-btn--primary{border-color:var(--ap-accent);background:var(--ap-accent);color:var(--ap-on-accent);box-shadow:var(--ap-shadow-sm)}.cp.ap .ap-stage .ap-btn--primary:hover{border-color:var(--ap-accent-hover);background:var(--ap-accent-hover)}.cp.ap .ap-stage .ap-btn--danger{border-color:var(--ap-danger);background:var(--ap-danger);color:var(--ap-surface)}.cp.ap .ap-stage .ap-btn--danger:hover{filter:brightness(1.08)}.cp.ap .ap-stage .ap-btn--ghost{border-color:transparent;background:transparent}.cp.ap .ap-stage .ap-btn--ghost:hover{background:var(--ap-surface-2)}.cp.ap .ap-stage .ap-btn__icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cp.ap .ap-stage .ap-field{display:grid;gap:6px}.cp.ap .ap-stage .ap-label{color:var(--ap-text);font-weight:600;font-size:.9375rem}.cp.ap .ap-stage .ap-hint{margin:0;color:var(--ap-text-3);font-size:.875rem;line-height:1.45}.cp.ap .ap-stage .ap-error{display:flex;align-items:flex-start;gap:6px;margin:0;color:var(--ap-danger);font-size:.875rem;font-weight:600;line-height:1.45}.cp.ap .ap-stage .ap-input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ap-border-strong);border-radius:var(--ap-radius-sm);background:var(--ap-surface);color:var(--ap-text);font:inherit;line-height:1.4;transition:border-color var(--ap-duration) var(--ap-ease),box-shadow var(--ap-duration) var(--ap-ease)}.cp.ap .ap-stage .ap-input::placeholder{color:var(--ap-text-3)}.cp.ap .ap-stage .ap-input:hover{border-color:var(--ap-text-2)}.cp.ap .ap-stage .ap-input:focus-visible{outline:2px solid var(--ap-focus);outline-offset:1px;border-color:var(--ap-focus)}.cp.ap .ap-stage .ap-input[aria-invalid=true]{border-color:var(--ap-danger);box-shadow:inset 4px 0 0 var(--ap-danger)}.cp.ap .ap-stage textarea.ap-input{resize:vertical;min-height:88px}@media(prefers-reduced-motion:reduce){.cp.ap .ap-stage .ap-btn,.cp.ap .ap-stage .ap-input{transition:none}}.cp.ap .ap-stage .ap-chat{display:flex;flex-direction:column;width:min(100%,520px);margin-inline:auto;border:1px solid var(--ap-border);border-radius:var(--ap-radius-lg);background:var(--ap-surface);color:var(--ap-text);box-shadow:var(--ap-shadow-md);overflow:hidden;container-type:inline-size}.cp.ap .ap-stage .ap-chat [hidden]{display:none!important}.cp.ap .ap-stage .ap-chat__top{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--ap-border)}.cp.ap .ap-stage .ap-chat__logo{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--ap-radius-full);background:var(--ap-accent-soft);color:var(--ap-accent-soft-text)}.cp.ap .ap-stage .ap-chat__logo svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cp.ap .ap-stage .ap-chat__name{margin:0;font-size:1.0625rem;font-weight:650;line-height:1.3}.cp.ap .ap-stage .ap-chat__presence{display:flex;align-items:center;gap:7px;margin:2px 0 0;color:var(--ap-text-3);font-size:.8125rem}.cp.ap .ap-stage .ap-chat__dot{flex-shrink:0;width:8px;height:8px;border-radius:var(--ap-radius-full);background:var(--ap-success);box-shadow:0 0 0 3px var(--ap-success-soft)}.cp.ap .ap-stage .ap-chat__body{position:relative}.cp.ap .ap-stage .ap-chat__log{height:340px;padding:14px 20px 20px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.cp.ap .ap-stage .ap-chat__log:focus-visible{outline:2px solid var(--ap-focus);outline-offset:-4px;border-radius:var(--ap-radius)}.cp.ap .ap-stage .ap-chat__day{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--ap-text-3);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cp.ap .ap-stage .ap-chat__day:before,.cp.ap .ap-stage .ap-chat__day:after{content:"";flex:1;height:1px;background:var(--ap-border)}.cp.ap .ap-stage .ap-chat__list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.cp.ap .ap-stage .ap-chat__msg{display:grid;gap:4px;max-width:min(84%,380px)}.cp.ap .ap-stage .ap-chat__msg--me{justify-self:end;justify-items:end}.cp.ap .ap-stage .ap-chat__meta{display:flex;align-items:baseline;gap:8px;margin:0 4px;color:var(--ap-text-3);font-size:.75rem;line-height:1.3}.cp.ap .ap-stage .ap-chat__from{color:var(--ap-text-2);font-weight:600}.cp.ap .ap-stage .ap-chat__meta time{font-variant-numeric:tabular-nums}.cp.ap .ap-stage .ap-chat__text{margin:0;padding:10px 14px;border-radius:16px 16px 16px 4px;background:var(--ap-surface-2);color:var(--ap-text);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.cp.ap .ap-stage .ap-chat__msg--me .ap-chat__text{border-radius:16px 16px 4px;background:var(--ap-accent);color:var(--ap-on-accent)}.cp.ap .ap-stage .ap-chat__msg:last-child{animation:ap-chat-in .22s var(--ap-ease)}.cp.ap .ap-stage .ap-chat__jump{position:absolute;bottom:12px;left:50%;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px 0 12px;border:1px solid var(--ap-border-strong);border-radius:var(--ap-radius-full);background:var(--ap-surface);color:var(--ap-text);font:inherit;font-size:.875rem;font-weight:600;box-shadow:var(--ap-shadow-md);transform:translate(-50%);cursor:pointer}.cp.ap .ap-stage .ap-chat__jump:hover{background:var(--ap-surface-2)}.cp.ap .ap-stage .ap-chat__jump:focus-visible{outline:2px solid var(--ap-focus);outline-offset:2px}.cp.ap .ap-stage .ap-chat__jump svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.cp.ap .ap-stage .ap-chat__typing{min-height:26px;margin:0;padding:0 20px 6px;color:var(--ap-text-3);font-size:.8125rem}.cp.ap .ap-stage .ap-chat__typing-in{display:inline-flex;align-items:center;gap:8px}.cp.ap .ap-stage .ap-chat__dots{display:inline-flex;gap:3px}.cp.ap .ap-stage .ap-chat__dots span{width:5px;height:5px;border-radius:var(--ap-radius-full);background:currentColor;animation:ap-chat-dot 1.2s var(--ap-ease) infinite}.cp.ap .ap-stage .ap-chat__dots span:nth-child(2){animation-delay:.15s}.cp.ap .ap-stage .ap-chat__dots span:nth-child(3){animation-delay:.3s}.cp.ap .ap-stage .ap-chat__composer{display:grid;gap:6px;padding:12px 20px 16px;border-top:1px solid var(--ap-border);background:var(--ap-surface)}.cp.ap .ap-stage .ap-chat__label{color:var(--ap-text);font-size:.875rem;font-weight:600}.cp.ap .ap-stage .ap-chat__row{display:flex;align-items:flex-end;gap:8px}.cp.ap .ap-stage .ap-chat .ap-chat__input{flex:1;min-width:0;min-height:var(--ap-target);max-height:140px;resize:none;line-height:1.45}.cp.ap .ap-stage .ap-chat__send{min-height:var(--ap-target)}.cp.ap .ap-stage .ap-chat__icon{flex-shrink:0;width:18px;height:18px;margin-top:1px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.cp.ap .ap-stage .ap-chat__hint kbd{padding:0 5px;border:1px solid var(--ap-border-strong);border-bottom-width:2px;border-radius:5px;background:var(--ap-surface);color:var(--ap-text-2);font-family:var(--ap-mono);font-size:.75rem;line-height:1.5}.cp.ap .ap-stage .ap-chat__vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes ap-chat-in{0%{opacity:0;transform:translateY(6px)}}@keyframes ap-chat-dot{0%,60%,to{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}@container (max-width: 400px){.cp.ap .ap-stage .ap-chat__top{padding:14px 16px}.cp.ap .ap-stage .ap-chat__log{height:320px;padding:12px 14px 18px}.cp.ap .ap-stage .ap-chat__typing{padding-inline:16px}.cp.ap .ap-stage .ap-chat__composer{padding:12px 14px 14px}.cp.ap .ap-stage .ap-chat__msg{max-width:88%}.cp.ap .ap-stage .ap-chat__send{padding:0 12px}}@media(prefers-reduced-motion:reduce){.cp.ap .ap-stage .ap-chat__msg:last-child{animation:none}.cp.ap .ap-stage .ap-chat__dots span{animation:none;opacity:.7}}
