.sh-chat-launcher{position:fixed;right:24px;bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:55;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:78px;min-height:60px;padding:6px;border:0;border-radius:9px;background:transparent;color:var(--fg,#e5e8ef);box-shadow:none;touch-action:manipulation;transition:color .14s ease}.sh-chat-launcher>svg{color:var(--hunter-red,#e11d2e)}.sh-chat-launcher-label{font-size:10px;line-height:1.2;font-weight:600;white-space:nowrap}.sh-chat-launcher:hover{background:transparent;color:var(--hunter-red,#e11d2e)}body:has(.training-shell) .sh-chat-launcher{display:none}.sh-chat-launcher:focus-visible{outline:2px solid var(--neon-cyan,#6fd6ff);outline-offset:4px}.sh-chat-unread{position:absolute;top:2px;right:12px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px;border-radius:8px;background:var(--hunter-red,#e11d2e);color:#fff;font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}.sh-chat-overlay{--chat-bg:var(--card,#151821);--chat-raised:var(--surface-raised,#1b2030);--chat-fg:var(--fg,#e5e8ef);--chat-muted:#aab2c1;--chat-line:var(--border-soft,#ffffff18);--chat-accent:var(--hunter-red,#e11d2e);--chat-accent-ink:#ffb3ba;--chat-accent-soft:#e11d2e0d;--chat-accent-line:#e11d2e40;position:fixed;inset:0;z-index:160;background:#0005;color:var(--chat-fg);font-family:var(--font-body),sans-serif;animation:sh-chat-backdrop-in .18s ease-out both}html.light .sh-chat-overlay{--chat-muted:#526176;--chat-accent-ink:var(--crimson-core,#b30f25);--chat-accent-soft:#e11d2e08;background:#12213a30}.sh-chat-panel{position:absolute;right:24px;bottom:24px;display:flex;flex-direction:column;width:440px;height:min(760px,calc(100dvh - 48px));overflow:hidden;border-radius:16px;background:var(--chat-bg);box-shadow:0 20px 64px #0006;font-size:14px;line-height:1.5;isolation:isolate;transform-origin:bottom right;animation:sh-chat-panel-in .22s cubic-bezier(.16,1,.3,1) both}.sh-chat-overlay[data-state=closed]{pointer-events:none;animation:sh-chat-backdrop-out .14s ease-in both}.sh-chat-overlay[data-state=closed] .sh-chat-panel{animation:sh-chat-panel-out .14s ease-in both}@keyframes sh-chat-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes sh-chat-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes sh-chat-panel-in{0%{opacity:.5;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}@keyframes sh-chat-panel-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.99)}}.sh-chat-panel *{box-sizing:border-box}.sh-chat-panel ::-moz-selection{background:#e11d2e55;color:var(--chat-fg)}.sh-chat-panel ::selection{background:#e11d2e55;color:var(--chat-fg)}.sh-chat-panel a,.sh-chat-panel button,.sh-chat-panel input,.sh-chat-panel select,.sh-chat-panel textarea{outline-offset:3px}.sh-chat-message:focus-visible,.sh-chat-panel :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--chat-accent-ink)}.sh-chat-panel button{transition:background .16s ease,color .16s ease}.sh-chat-panel button:disabled{opacity:.45;cursor:default}.sh-chat-panel :is(textarea,input,select){caret-color:var(--chat-accent-ink);color:var(--chat-fg)}.sh-chat-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;flex-shrink:0;border-radius:8px;color:var(--chat-muted)}.sh-chat-icon:hover{background:var(--chat-accent-soft);color:var(--chat-accent-ink)}.sh-chat-header{display:flex;align-items:center;gap:2px;padding:14px 12px 12px 20px;border-bottom:1px solid var(--chat-accent-line);flex-shrink:0}.sh-chat-heading{min-width:0;flex:1}.sh-chat-heading h2{margin:0;font-family:var(--font-body),sans-serif;font-size:16px;line-height:1.35;font-weight:650;letter-spacing:-.015em;text-wrap:balance}.sh-chat-connection{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:10px 18px;background:var(--surface-soft);font-size:12px;color:var(--chat-muted)}.sh-chat-connection button,.sh-chat-error button{min-height:36px;text-decoration:underline;text-underline-offset:3px;color:inherit;font-weight:600}.sh-chat-pinned{display:flex;align-items:center;gap:10px;min-height:48px;padding:5px 20px;background:var(--chat-accent-soft);color:var(--chat-accent-ink);flex-shrink:0}.sh-chat-pinned>button{display:flex;align-items:center;gap:8px;min-height:40px;min-width:0;text-align:left;font-size:12px}.sh-chat-pinned strong{font-weight:600;color:var(--chat-fg)}.sh-chat-pinned span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-chat-messages,.sh-chat-scroll-pane{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--chat-muted) transparent;scroll-padding:16px}.sh-chat-messages{padding:8px 18px 16px}.sh-chat-history{display:block;min-height:44px;margin:0 auto 8px;padding:0 14px;border-radius:8px;color:var(--chat-muted);font-size:12px}.sh-chat-history:hover{background:var(--surface-soft);color:var(--chat-fg)}.sh-chat-date{display:flex;justify-content:center;margin:14px 0 18px;font-size:11px;color:var(--chat-muted)}.sh-chat-date time{padding:0 10px}.sh-chat-message{position:relative;margin:0 0 14px;padding:8px 10px;border-radius:10px;overflow-wrap:anywhere}.sh-chat-message-own{background:var(--chat-accent-soft)}.sh-chat-message-heading{display:flex;align-items:center;gap:8px;min-height:28px;margin-bottom:5px}.sh-chat-message-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.sh-chat-message-heading time{margin-left:auto;white-space:nowrap;color:var(--chat-muted);font-size:10px;font-variant-numeric:tabular-nums}.sh-chat-avatar{position:relative;display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;overflow:hidden;border-radius:50%;background:var(--surface-muted);color:var(--chat-accent-ink);font-size:11px;font-weight:600}.sh-chat-avatar img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sh-chat-message-body{padding-left:36px}.sh-chat-message-body p{color:var(--chat-fg)!important;font-size:14px;line-height:1.6;margin:0}.sh-chat-message-body img{max-width:76px;max-height:76px}.sh-chat-message-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1px;margin-left:24px;margin-top:3px}.sh-chat-message-actions>div:first-child{flex:1;min-width:0}.sh-chat-message-actions button{min-height:44px}.sh-chat-message-actions button[aria-pressed=true]{border-color:var(--chat-accent-line);background:var(--chat-accent-soft);color:var(--chat-accent-ink)}.sh-chat-message-actions .sh-chat-icon{width:36px;min-width:36px}.sh-chat-more{margin-left:auto}.sh-chat-message-menu{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0 4px 30px;padding:6px;background:var(--surface-muted);border-radius:8px}.sh-chat-message-menu button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;text-align:left;border-radius:6px;font-size:12px;color:var(--chat-fg)}.sh-chat-message-menu button:hover{background:var(--surface-soft)}.sh-chat-reply-preview{display:flex;align-items:center;gap:6px;max-width:100%;min-height:36px;margin:0 0 6px 32px;padding:5px 8px;border-radius:6px;background:var(--surface-muted);font-size:11px;color:var(--chat-muted);text-align:left}.sh-chat-reply-preview svg{flex-shrink:0}.sh-chat-reply-preview span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sh-chat-hidden-copy{margin:8px 0 4px 33px;color:var(--chat-muted);font-size:12px;font-style:italic}.sh-chat-hidden-copy span{display:block;margin-top:6px;font-style:normal;font-size:12px;opacity:.8}.sh-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:260px;padding:32px 20px;text-align:center;color:var(--chat-muted)}.sh-chat-empty h3{margin:3px 0 0;color:var(--chat-fg);font-size:16px;line-height:1.4;font-weight:600;text-wrap:balance}.sh-chat-empty p{max-width:28ch;margin:0;font-size:13px;line-height:1.65}.sh-chat-skeleton{display:flex;flex-direction:column;gap:30px;padding:32px 12px}.sh-chat-skeleton i{height:66px;max-width:85%;border-radius:8px;background:var(--surface-soft)}.sh-chat-skeleton i:nth-child(2){margin-left:30px;max-width:95%}.sh-chat-latest{align-self:center;display:flex;align-items:center;gap:7px;min-height:44px;margin:-8px 0 8px;padding:6px 14px;border-radius:8px;background:var(--chat-raised);color:var(--chat-accent-ink);box-shadow:0 3px 14px #0002;font-size:12px;flex-shrink:0}.sh-chat-composer{flex-shrink:0;max-height:48%;overflow-y:auto;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--chat-accent-line);background:var(--chat-bg);scrollbar-width:thin;scrollbar-color:var(--chat-muted) transparent}.sh-chat-composer>textarea{display:block;width:100%;min-height:66px;max-height:140px;resize:vertical;padding:10px 11px;border:1px solid var(--chat-line);border-radius:8px;background:var(--field-bg);font-size:14px;line-height:1.5}.sh-chat-action-form textarea::-moz-placeholder,.sh-chat-composer>textarea::-moz-placeholder{color:var(--chat-muted);opacity:1}.sh-chat-action-form textarea::placeholder,.sh-chat-composer>textarea::placeholder{color:var(--chat-muted);opacity:1}.sh-chat-composer-tools{position:sticky;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding-top:7px;background:var(--chat-bg)}.sh-chat-composer-tools>div{display:flex;align-items:flex-start;gap:2px;min-width:0;flex:1}.sh-chat-composer-tools>div>div{min-width:0}.sh-chat-composer-tools>div>div>div:first-child{min-height:44px}.sh-chat-send{display:grid;place-items:center;min-width:44px;height:44px;flex-shrink:0;border-radius:9px;background:var(--hunter-red,#e11d2e);color:#fff}.sh-chat-send:hover{background:var(--crimson-core,#b30f25)}.sh-chat-send:disabled{background:var(--surface-muted);color:var(--chat-muted)}.sh-chat-character-count{text-align:right;margin:3px 2px 0;font-size:11px;color:var(--chat-muted);font-variant-numeric:tabular-nums}.sh-chat-replying{display:flex;align-items:center;gap:8px;margin:-4px 0 8px;font-size:12px;color:var(--chat-muted)}.sh-chat-replying>span{min-width:0;flex:1}.sh-chat-replying small,.sh-chat-replying strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sh-chat-replying strong{font-size:12px;font-weight:600;color:var(--chat-fg)}.sh-chat-replying small{font-size:11px}.sh-chat-error{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:8px 10px;background:#e11d2e10;color:#ffb7bd;font-size:12px;border-radius:6px}html.light .sh-chat-error{color:#9d1626;background:#e11d2e0d}.sh-chat-feedback{margin:0;padding:7px 16px;flex-shrink:0;border-radius:0}.sh-chat-notice{display:flex;align-items:center;gap:8px;font-size:12px;background:var(--surface-soft);color:var(--chat-muted)}.sh-chat-notice>span{flex:1;min-width:0}.sh-chat-notice>button:not(.sh-chat-icon){display:inline-flex;align-items:center;gap:5px;min-height:44px;color:var(--chat-fg);text-decoration:underline;text-underline-offset:3px}.sh-chat-notice .sh-chat-icon{width:30px;min-width:30px}.sh-chat-review,.sh-chat-settings{padding:22px 20px}.sh-chat-settings h3{margin:0 0 8px;font-size:18px;font-weight:600}.sh-chat-settings>p{margin:0 0 24px;font-size:13px;color:var(--chat-muted);line-height:1.7}.sh-chat-preference{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid var(--chat-line);border-bottom:1px solid var(--chat-line)}.sh-chat-preference>span{display:flex;align-items:center;gap:12px;min-width:0}.sh-chat-preference svg{flex-shrink:0;color:var(--chat-muted)}.sh-chat-preference strong,.sh-chat-support-link strong{display:block;font-size:13px;font-weight:600}.sh-chat-preference small,.sh-chat-support-link small{display:block;margin-top:3px;font-size:12px;color:var(--chat-muted);line-height:1.6}.sh-chat-preference input{width:22px;height:22px;min-width:22px;accent-color:var(--hunter-red);cursor:pointer}.sh-chat-support-link{display:flex;align-items:center;gap:12px;min-height:76px;margin:22px 0;padding:10px 0;color:var(--chat-fg)}.sh-chat-support-link>span{flex:1}.sh-chat-link-arrow{transform:rotate(180deg)}.sh-chat-help{color:var(--chat-muted);font-size:12px;line-height:1.65}.sh-chat-review-tabs{display:flex;align-items:center;gap:5px;margin-bottom:15px}.sh-chat-review-tabs>button:not(.sh-chat-icon){display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border-radius:8px;color:var(--chat-muted);font-size:13px}.sh-chat-review-tabs button[aria-pressed=true]{background:var(--surface-soft);color:var(--chat-fg)}.sh-chat-review-tabs>.sh-chat-icon{margin-left:auto}.sh-chat-report{padding:18px 0;border-bottom:1px solid var(--chat-line)}.sh-chat-audit time,.sh-chat-report time{display:block;color:var(--chat-muted);font-size:11px;font-variant-numeric:tabular-nums}.sh-chat-report h3{margin:8px 0 5px;font-size:13px;font-weight:600}.sh-chat-report p{margin:0;font-size:13px;overflow-wrap:anywhere}.sh-chat-report blockquote{margin:12px 0;padding:10px;background:var(--surface-soft);border-radius:6px;font-size:12px;overflow-wrap:anywhere;color:var(--chat-muted)}.sh-chat-report-actions{display:flex;flex-wrap:wrap;gap:4px}.sh-chat-report-actions button{min-height:44px;padding:5px 10px;border-radius:6px;font-size:12px}.sh-chat-report-actions button:hover{background:var(--surface-soft)}.sh-chat-audit{list-style:none;margin:20px 0 0;padding:0}.sh-chat-audit li{padding:14px 0;border-bottom:1px solid var(--chat-line)}.sh-chat-audit strong{display:block;margin-top:4px;font-size:13px;font-weight:600}.sh-chat-audit p{margin:4px 0;color:var(--chat-muted);font-size:12px;overflow-wrap:anywhere}.sh-chat-audit span{font-size:11px;color:var(--chat-muted)}.sh-chat-action-form{padding:16px 20px 20px;border-top:1px solid var(--chat-line);max-height:70%;overflow:auto;flex-shrink:0;background:var(--chat-bg)}.sh-chat-action-form>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.sh-chat-action-form h3{font-size:15px;font-weight:600}.sh-chat-action-context{max-height:90px;overflow:auto;padding:8px 10px;margin:4px 0 12px;border-radius:6px;background:var(--surface-soft);color:var(--chat-muted);font-size:12px;overflow-wrap:anywhere}.sh-chat-action-form label{display:block;margin:8px 0 12px;font-size:12px;color:var(--chat-muted)}.sh-chat-action-form select,.sh-chat-action-form textarea{display:block;width:100%;min-height:44px;margin-top:5px;padding:10px;border:1px solid var(--chat-line);border-radius:8px;background:var(--field-bg);font-size:14px}.sh-chat-primary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border-radius:8px;background:var(--hunter-red);color:#fff;font-size:13px;font-weight:600}.sh-chat-primary:hover{background:var(--crimson-core)}@media(min-width:768px){.sh-chat-launcher{bottom:24px}}@media(max-width:640px){.sh-chat-overlay{top:var(--chat-viewport-top,0);bottom:auto;height:var(--chat-viewport-height,100dvh);background:var(--chat-bg)}.sh-chat-panel{inset:0;width:100%;height:100%;border-radius:0;box-shadow:none}.sh-chat-header{padding:max(10px,env(safe-area-inset-top)) 10px 10px 16px}.sh-chat-heading h2{font-size:14px}.sh-chat-messages{padding:4px 10px 12px}.sh-chat-message{padding:7px 8px;margin-bottom:10px}.sh-chat-composer{padding-right:12px;padding-left:12px;max-height:52%}.sh-chat-composer>textarea{font-size:16px;min-height:66px;max-height:120px}.sh-chat-message-actions .sh-chat-icon{width:44px;min-width:44px}.sh-chat-action-form select,.sh-chat-action-form textarea{font-size:16px}.sh-chat-review,.sh-chat-settings{padding:20px 18px}}@media(prefers-reduced-motion:reduce){.sh-chat-launcher,.sh-chat-panel button{transition:none}.sh-chat-overlay,.sh-chat-overlay[data-state=closed],.sh-chat-overlay[data-state=closed] .sh-chat-panel,.sh-chat-panel,.sh-chat-panel .animate-spin{animation:none}.sh-chat-overlay[data-state=closed]{visibility:hidden}.sh-chat-panel *{scroll-behavior:auto!important}}