/* Shared particle geometry and compact menu, in the site's sage/charcoal palette. */
#jarvis-launch{position:fixed;z-index:42;right:22px;bottom:24px;width:104px;height:104px;filter:drop-shadow(0 3px 9px #000a)}
#jarvis-launch[hidden],#jarvis[hidden],.jarvis-voice-notice[hidden]{display:none}
#jarvis-launch:after{font-family:var(--mono,monospace);color:#e0e6d7;font-size:9px;letter-spacing:2.5px;text-shadow:0 1px 4px #000}
#jarvis-launch:focus-visible{outline:2px solid #e2ecd5;outline-offset:3px}
.jarvis-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.jp-actions{z-index:43;background:#101914f7;border-color:#a9b99b70;border-radius:3px;padding:6px;gap:1px;box-shadow:0 16px 45px #0008}
.jp-actions button,.jp-actions button[data-action=voice],.jp-actions button[data-action=tour],.jp-actions button[data-action=explain]{color:#e7ecdf;min-height:44px;border-radius:0;font-family:inherit;padding:10px 12px;line-height:1.3}
.jp-actions button small{display:block;font:9px/1.5 var(--mono,monospace);color:#adbaa5;margin-top:3px;letter-spacing:.1px}
.jp-actions button:hover,.jp-actions button:focus-visible{color:#fff;background:#c2d2ae16}
.jp-actions button:focus-visible{outline:2px solid #d6dfca;outline-offset:-2px}
.jarvis-dialog-open{overflow:hidden}
#jarvis{color:#e9ede3;background:#0d1510;border:1px solid #96a58770;padding:0;width:min(480px,calc(100vw - 24px));max-width:none;max-height:min(850px,calc(100dvh - 28px));border-radius:4px;box-shadow:0 32px 100px #000a;overflow:hidden;margin:auto}
#jarvis[open]{display:flex;flex-direction:column}
#jarvis::backdrop{background:#030906c9;backdrop-filter:blur(5px)}
#jarvis .chat-head{position:relative;flex:0 0 auto;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:21px 22px 14px;border-bottom:1px solid #b3c79d20;background:transparent;width:auto;height:auto;inset:auto}
#jarvis .jarvis-kicker{font:8px/1.6 var(--mono,monospace);letter-spacing:1.3px;margin:0 0 7px;color:#a8ba97}
#jarvis h2{font-family:inherit;font-size:32px;font-weight:400;line-height:1;margin:0;letter-spacing:-1px}
#jarvis h2 span{display:block;font:10px/1.6 var(--mono,monospace);letter-spacing:.2px;color:#b6c3ab;margin-top:7px}
#jarvis [data-jarvis-close]{color:#e8edde;background:#ffffff05;border:1px solid #b3c79d40;width:44px;height:44px;font-size:28px;line-height:1;flex-shrink:0;cursor:pointer}
#jarvis .jp-stage{flex:0 0 auto;height:96px;border-color:#b3c79d20;overflow:hidden}
#jarvis .jp-stage canvas{width:116px;height:116px}
#jarvis .jp-stage small{font:8px/1.4 var(--mono,monospace);color:#a5b995;letter-spacing:1.5px;bottom:5px}
#jarvis .jp-context{flex:0 0 auto;background:#172118;color:#bdcbb3;padding:10px 22px;font:9px/1.5 var(--mono,monospace);letter-spacing:.5px}
#jarvis .jarvis-disclosure{flex:0 0 auto;padding:11px 22px 0;margin:0;color:#a5b09e;font-size:11px;line-height:1.6}
#messages{flex:1 1 auto;min-height:110px;max-height:280px;overflow-y:auto;overscroll-behavior:contain;padding:5px 22px 12px;scrollbar-color:#6b7c5f #0d1510}
.jarvis-message{padding:14px 0;border-bottom:1px solid #b3c79d20}
.jarvis-message-label{font:8px/1.5 var(--mono,monospace);letter-spacing:1px;color:#b8c9a9}
.jarvis-message p{font:13px/1.65 var(--sans,Arial,sans-serif);color:#dbe2d3;margin:6px 0 0;overflow-wrap:anywhere}
.jarvis-message-user{padding:11px 12px;margin-top:10px;background:#becfaf0c;border-left:2px solid #8fa47c}
.jarvis-message-user .jarvis-message-label{color:#a6b59a}
.jarvis-source-links{display:flex;gap:7px 13px;flex-wrap:wrap;margin-top:10px}
.jarvis-source-links a{font-size:11px;color:#c9dab6;text-underline-offset:4px;text-decoration:underline}
#jarvis-suggestions{flex:0 0 auto;padding:10px 22px;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #b3c79d25}
#jarvis-suggestions button{font:10px/1.4 var(--mono,monospace);padding:8px 10px;min-height:34px;color:#d0ddc5;background:#a4bc8c0d;border:1px solid #9eb58a45;cursor:pointer}
#jarvis-suggestions button:hover{background:#a4bc8c24}
#jarvis-form{flex:0 0 auto;padding:13px 22px 17px;border-top:1px solid #b3c79d25;margin:0;background:#131d16}
#jarvis-form[hidden]{display:none}
#jarvis-form label{font-size:11px;line-height:1.5;color:#d4dfc8;display:block;margin:0 0 7px}
.jarvis-input-row{display:flex;gap:7px}
#jarvis-question{font:12px/1.5 var(--sans,Arial,sans-serif);padding:11px;min-width:0;flex:1;color:#edf2e7;background:#0a100c;border:1px solid #93a78265;margin:0;border-radius:0;min-height:43px}
#jarvis-question::placeholder{color:#9baa91}
#jarvis-form button{background:#cbd7bd;border:1px solid #cbd7bd;border-radius:0;color:#10200e;padding:0 13px;font-size:12px;min-width:57px;cursor:pointer}
#jarvis-input-note{font-size:10px;line-height:1.55;color:#aab69f;margin:9px 0 0}
#jarvis-input-note a{color:#d6e5c6;text-decoration:underline;text-underline-offset:3px}
#jarvis :focus-visible,.jp-tour :focus-visible,.jarvis-voice-notice :focus-visible{outline:2px solid #e0edcf;outline-offset:3px}
.jp-tour{z-index:41;left:22px;bottom:22px;width:min(405px,calc(100vw - 44px));padding:18px;background:#101a13fa;border:1px solid #a3ba8d65;border-radius:3px;color:#dce6d3;box-shadow:0 15px 50px #0008;max-height:calc(100dvh - 100px);overflow:auto}
.jp-tour small{color:#b1c69c;font:9px/1.5 var(--mono,monospace);letter-spacing:1.5px}
.jp-tour .jp-tour-title{font-size:14px;color:#f0f3eb;margin:10px 0 6px;font-weight:500}
.jp-tour .jp-tour-summary{font-size:12px;line-height:1.6;color:#bccbb0;margin:0 0 12px}
.jp-tour .jp-tour-options{display:flex;gap:16px;flex-wrap:wrap}
.jp-tour label{font-size:11px;color:#c5d3b9;line-height:1.5;margin:0;display:flex;align-items:center;gap:5px}
.jp-tour input{width:15px;height:15px;margin:0;accent-color:#b3c79d}
.jp-tour .jp-narration-note{font-size:10px;line-height:1.5;color:#9aab8e;margin:9px 0 13px}
.jp-tour .jp-tour-buttons{display:flex;gap:7px}
.jp-tour button{font-size:11px;color:#dae5d0;background:#1c2b1d;border:1px solid #9eb58a60;min-height:40px;padding:8px 13px;border-radius:0;cursor:pointer}
.jp-tour button:hover{background:#2b3d2b}
.jp-tour button[data-tour=end]{margin-left:auto;background:transparent}
.jp-current{outline:1px solid #b3c79d70;outline-offset:-2px}
.jarvis-voice-notice{position:fixed;z-index:44;right:22px;bottom:148px;padding:17px;width:min(315px,calc(100vw - 32px));background:#111b14fa;border:1px solid #a6bc9066;color:#dce7d1;box-shadow:0 10px 40px #0007;border-radius:3px}
.jarvis-voice-notice p{font-size:12px;line-height:1.6;margin:0 0 12px}
.jarvis-voice-notice button{color:#e7edde;background:#23321f;border:1px solid #a8bf9160;font-size:11px;min-height:36px;padding:7px 14px;cursor:pointer}
html[data-motion=paused] .jp-actions{animation:none}
/* Match the site's tactile controls without changing their sizing or placement. */
#jarvis [data-jarvis-close],#jarvis-suggestions button,.jp-tour button,.jarvis-voice-notice button,.jp-actions button,.jp-actions button[data-action=voice],.jp-actions button[data-action=tour],.jp-actions button[data-action=explain]{border-radius:6px;background:linear-gradient(180deg,#243326,#17241a);border:1px solid #697e5c;box-shadow:inset 0 1px 0 #e3efd21a,inset 0 -1px 0 #00000038,0 2px 5px #00000038;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
#jarvis-suggestions button{background:linear-gradient(180deg,#203022,#142118);border-color:#52684a}
.jp-tour button[data-tour=end]{background:linear-gradient(180deg,#1c291f,#121c15);border-color:#5a6c50}
#jarvis-form button{border-radius:6px;background:linear-gradient(180deg,#dce7cf,#bacaab);border-color:#c3d4b2;box-shadow:inset 0 1px 0 #f7ffecb3,inset 0 -1px 0 #70825d6b,0 2px 5px #00000040;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
#jarvis [data-jarvis-close]:focus-visible,#jarvis-suggestions button:focus-visible,#jarvis-form button:focus-visible,.jp-tour button:focus-visible,.jarvis-voice-notice button:focus-visible,.jp-actions button:focus-visible{border-radius:6px;border-color:#d5e5c1;box-shadow:inset 0 1px 0 #eef8e229,0 2px 6px #0000004d}
@media(hover:hover){#jarvis [data-jarvis-close]:hover,#jarvis-suggestions button:hover,.jp-tour button:hover,.jarvis-voice-notice button:hover,.jp-actions button:hover{background:linear-gradient(180deg,#304431,#213323);border-color:#9aaf87;box-shadow:inset 0 1px 0 #e3efd229,inset 0 -1px 0 #00000038,0 3px 7px #00000040}#jarvis-form button:hover{background:linear-gradient(180deg,#e8f0de,#c9d9b9);border-color:#deebcf;box-shadow:inset 0 1px 0 #ffffffb3,inset 0 -1px 0 #80936b66,0 3px 7px #00000040}}
#jarvis [data-jarvis-close]:active,#jarvis-suggestions button:active,#jarvis-form button:active,.jp-tour button:active,.jarvis-voice-notice button:active,.jp-actions button:active{box-shadow:inset 0 2px 4px #00000040,inset 0 -1px 0 #e3efd21a}
html[data-motion=paused] #jarvis button,html[data-motion=paused] .jp-actions button,html[data-motion=paused] .jp-tour button,html[data-motion=paused] .jarvis-voice-notice button{transition:none}
@media(max-width:600px){#jarvis-launch{width:86px;height:86px;right:14px;bottom:21px}.jp-tour{left:12px;bottom:122px;width:calc(100vw - 24px);padding:14px;max-height:calc(100dvh - 220px)}.jp-tour .jp-tour-summary{font-size:11px;line-height:1.55}.jp-tour .jp-narration-note{font-size:9px;margin:7px 0 10px}.jp-tour .jp-tour-title{font-size:13px}.jarvis-voice-notice{right:12px;bottom:123px}#jarvis{max-height:calc(100dvh - 16px);width:calc(100vw - 16px)}#jarvis .chat-head{padding:15px 16px 12px}#jarvis h2{font-size:28px}#jarvis .jarvis-kicker{font-size:7px;letter-spacing:.8px}#jarvis .jp-stage{height:70px}#jarvis .jp-stage canvas{width:92px;height:92px}#jarvis .jp-stage small{font-size:7px}#jarvis .jp-context{padding:8px 16px;font-size:8px}#jarvis .jarvis-disclosure{padding:9px 16px 0;font-size:10px}#messages{min-height:75px;padding:4px 16px 10px;max-height:36dvh}.jarvis-message p{font-size:12px}#jarvis-suggestions{padding:8px 16px}#jarvis-suggestions button{font-size:9px;padding:6px 8px;min-height:32px}#jarvis-form{padding:10px 16px 13px}#jarvis-question{font-size:16px}#jarvis-input-note{font-size:9px}}
@media(max-height:580px){#jarvis .jp-stage{display:none}#jarvis .jarvis-disclosure{font-size:9px;padding-top:6px}#jarvis .chat-head{padding:10px 14px}#jarvis h2{font-size:22px}#jarvis .jarvis-kicker{display:none}#messages{min-height:55px;max-height:28dvh}#jarvis-suggestions{padding:6px 14px}#jarvis-form{padding:8px 14px}.jp-tour{max-height:calc(100dvh - 160px)}}
@media(max-height:580px){#jarvis{overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){.jp-actions,.jp-actions button,.jp-tour,#jarvis button,.jp-tour button,.jarvis-voice-notice button{animation:none;transition:none}}
@media print{#jarvis-launch,#jarvis,.jp-actions,.jp-tour,.jarvis-voice-notice{display:none!important}}
.jp-voice{position:fixed;z-index:45;right:22px;bottom:120px;width:min(320px,calc(100vw - 32px));padding:17px;border:1px solid #8ea27b80;border-radius:10px;background:#111c15fa;color:#e5eedc;box-shadow:0 16px 48px #0008}
.jp-voice[hidden]{display:none}
.jp-voice .voice-status{display:block;font:500 13px/1.6 var(--sans,Arial,sans-serif)}
.jp-voice-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.jp-voice button{min-height:40px;padding:8px 13px;border:1px solid #748b63;border-radius:6px;background:linear-gradient(180deg,#30422b,#1c2c1e);color:#edf3e8;font:12px/1.3 var(--sans,Arial,sans-serif);cursor:pointer}
.jp-voice button:focus-visible{outline:2px solid #e0edcf;outline-offset:3px}
.jp-voice small{display:block;font-size:10px;line-height:1.6;color:#b5c3aa}
#jarvis-form button:disabled{opacity:.65;cursor:wait}
@media(max-width:600px){.jp-voice{right:12px;bottom:92px;padding:14px}}
@media print{.jp-voice{display:none!important}}
