.orbit-launcher{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:10px;border:1px solid #a7a59b;border-radius:40px;background:#151c38;color:#f6f5f1;padding:10px 18px 10px 10px;box-shadow:0 5px 22px #0002;font-size:16px}.orbit-logo{width:48px;height:48px;flex-shrink:0}.orbit-launcher:hover{background:#242d4e}.orbit-panel{position:fixed;right:24px;bottom:100px;z-index:41;width:min(380px,calc(100vw - 32px));max-height:min(640px,calc(100dvh - 125px));display:flex;flex-direction:column;background:#141b35;color:#f6f5f1;border:1px solid #797f91;border-radius:12px;box-shadow:0 12px 40px #0004;overflow:hidden;font-size:16px;line-height:1.5}.orbit-header{display:flex;align-items:center;gap:12px;padding:17px 18px;border-bottom:1px solid #414962}.orbit-header h2{font-size:25px;letter-spacing:0;margin:0;line-height:1.15}.orbit-header p{font-size:11px;color:#c6c8d1;margin:5px 0 0}.orbit-header button{margin-left:auto;align-self:flex-start;border:0;color:#f6f5f1;font-size:24px;padding:0 5px}.orbit-disclosure{font-size:12px;color:#d4d4cc;padding:10px 18px;background:#1e2744;border-bottom:1px solid #414962}.orbit-log{overflow-y:auto;overscroll-behavior:contain;padding:16px;min-height:100px;flex:1}.orbit-message{padding:12px 14px;background:#242d49;border:1px solid #3c4661;border-radius:8px;margin-bottom:12px;overflow-wrap:anywhere}.orbit-message.user{background:#f0eee4;color:#1b1e4a;margin-left:35px}.orbit-message small{font-size:11px;letter-spacing:.04em;opacity:.8}.orbit-message p{font-size:16px;margin:5px 0 0;white-space:pre-line}.orbit-message a{display:inline-block;font-size:13px;margin-top:9px;color:#eee3bc}.orbit-suggestions{display:flex;gap:7px;flex-wrap:wrap;padding:0 16px 12px}.orbit-suggestions button{font-size:12px;color:#ede6cd;border:1px solid #68718b;border-radius:20px;padding:5px 10px}.orbit-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #414962}.orbit-form input{min-width:0;flex:1;width:100%;border:1px solid #69728b;border-radius:5px;background:#1e2744;color:#fff;padding:10px;font-size:16px}.orbit-form input::placeholder{color:#bdc2d1}.orbit-form button{background:#e9e3cb;color:#1b1e4a;border-color:#e9e3cb;border-radius:5px;padding:8px 13px}.orbit-footer{display:flex;align-items:center;justify-content:space-between;padding:0 16px 12px;color:#c4c7d1;font-size:11px}.orbit-footer button{font-size:11px;color:#eee3bc;border:0;padding:0}.orbit-panel :focus-visible,.orbit-launcher:focus-visible{outline:3px solid #b7d9e4;outline-offset:3px}.orbit-panel a:hover{color:#fff}@media(max-width:480px){.orbit-launcher{bottom:16px;right:16px;padding:8px}.orbit-launcher>span{display:none}.orbit-panel{right:16px;bottom:84px;max-height:calc(100dvh - 105px)}.orbit-header{padding:13px 16px}.orbit-log{padding:12px}.orbit-logo{width:44px;height:44px}}
.orbit-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Translucent MedOrbit surfaces retain contrast over either portfolio theme. */
.orbit-panel{background:rgba(15,22,46,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(214,220,237,.35)}
.orbit-header{background:rgba(20,28,53,.38)}
.orbit-disclosure{background:rgba(39,50,81,.42)}
.orbit-message{background:rgba(44,56,89,.58);border-color:rgba(177,189,220,.24)}
.orbit-message.user{background:rgba(246,243,230,.94)}
.orbit-form{background:rgba(20,28,53,.28)}
.orbit-form input{background:rgba(28,39,69,.65)}
.orbit-launcher{background:rgba(21,28,56,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.orbit-launcher:hover{background:rgba(36,45,78,.94)}
@supports not (backdrop-filter:blur(1px)){.orbit-panel{background:rgba(15,22,46,.97)}}

/* Header-only round launcher: visible with navigation, never a floating overlay. */
.navtools{display:flex;align-items:center;gap:8px}
.navtools .orbit-launcher{position:static;z-index:auto;display:inline-flex;justify-content:center;width:44px;height:44px;min-width:44px;padding:3px;border-radius:50%;box-shadow:none;flex-shrink:0}
.orbit-launcher .orbit-logo{width:36px;height:36px;border-radius:50%}
.orbit-panel{top:90px;bottom:auto;max-height:min(640px,calc(100dvh - 110px))}
.orbit-header .orbit-logo{border-radius:50%}
.orbit-header h2{margin:0}
@media(max-width:480px){.navtools{gap:6px}.navtools .orbit-launcher{width:38px;height:38px;min-width:38px;padding:2px}.orbit-launcher .orbit-logo{width:32px;height:32px}.orbit-panel{top:84px;bottom:auto;max-height:calc(100dvh - 100px)}}

/* Bottom-right launcher, with the conversation above it. */
.orbit-launcher{position:fixed;right:24px;bottom:24px;z-index:40;width:60px;height:60px;min-width:60px;padding:5px;justify-content:center;border-radius:50%;border:1px solid #b9b393;background:rgba(21,28,56,.94);box-shadow:0 4px 18px #0003}
.orbit-launcher .orbit-logo{width:48px;height:48px}
.orbit-panel{top:auto;bottom:100px;right:24px;max-height:min(640px,calc(100dvh - 125px))}
@media(max-width:480px){.orbit-launcher{right:16px;bottom:16px;width:56px;height:56px;min-width:56px;padding:4px}.orbit-launcher .orbit-logo{width:46px;height:46px}.orbit-panel{top:auto;right:16px;bottom:86px;max-height:calc(100dvh - 105px)}}

/* Footer placement directly above Back to top; no floating launcher. */
.footer-orbit{display:flex;flex-direction:column;align-items:center;gap:12px;margin-left:auto}
.footer-orbit .orbit-launcher{position:static;right:auto;bottom:auto;z-index:auto;flex-shrink:0;margin:0}
footer{align-items:center}
@media(max-width:760px){.footer-orbit{margin:12px 0 0;align-self:flex-start;align-items:flex-start}.footer-orbit .orbit-launcher{align-self:center}}
