:root {
  --swix-electric-blue: #28a9ff;
  --swix-cyan: #72ddff;
  --swix-deep-navy: #020b19;
}

.swix-page-brand {
  display: inline-block;
  width: clamp(150px, 17vw, 215px);
}

.swix-page-brand > img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  filter: drop-shadow(0 0 18px rgba(41, 168, 255, 0.24));
}

.swix-page-brand > span {
  display: none;
}

/* Host pages load brand rules; the menu loads this stylesheet in its Shadow DOM. */
.swix-platform-menu { position: relative; z-index: 2147483000; }
:host *, :host *::before, :host *::after { box-sizing: border-box; }
:host [hidden] { display: none !important; }
/* The navigation behaves like a compact Swiss Army knife: the panel is the
   handle and each module pivots out from the same mechanical joint. */
:host { position: relative; z-index: 2147483000; font: 400 14px Manrope, Inter, sans-serif; color: #e6f2ff; }
.swix-platform-orb { position: fixed; left: 18px; top: 50%; z-index: 142; width: 66px; height: 66px; transform: translateY(-50%); border: 1px solid #72c9ff; border-radius: 50%; background: #06152c; box-shadow: 0 0 0 3px rgba(5,18,39,.94), 0 0 17px rgba(65,174,255,.72), inset 0 0 13px rgba(41,137,226,.22); color: #58b9f5; cursor: pointer; font: 700 17px Manrope, sans-serif; letter-spacing: -.055em; opacity:.58; transition:opacity .18s ease; }
.swix-platform-orb::before, .swix-platform-orb::after { content: ""; position: absolute; border-radius: inherit; pointer-events: none; }
.swix-platform-orb::before { inset: -4px; border: 1px solid rgba(87,188,255,.48); }
.swix-platform-orb::after { inset: 6px; border: 1px solid rgba(78,181,255,.55); box-shadow: inset 0 0 8px rgba(48,155,255,.14); }
.swix-platform-orb span { position: relative; z-index: 1; display: inline-block; text-shadow: 0 0 7px rgba(71,181,255,.62); transition: transform .42s cubic-bezier(.2,.75,.2,1), color .2s ease; }
.swix-platform-orb:hover, .swix-platform-orb:focus-visible, :host(.is-open) .swix-platform-orb { color: #86d4ff; box-shadow: 0 0 0 3px rgba(5,18,39,.96), 0 0 22px rgba(65,174,255,.82), inset 0 0 14px rgba(41,137,226,.28); opacity:1; }
:host(.is-open) .swix-platform-orb span { transform: rotate(360deg) scale(1.06); }
:host(.is-open) .swix-platform-orb { animation: swiss-trigger-energy .72s ease-out 1; }
:host(.is-open) .swix-platform-orb::before { animation: swiss-trigger-orbit .68s cubic-bezier(.2,.75,.2,1) 1; }
:host(.is-open) .swix-platform-orb::after { animation: swiss-trigger-orbit .82s cubic-bezier(.2,.75,.2,1) reverse 1; }
.swix-platform-backdrop { position: fixed; inset: 0; z-index: 140; background: rgba(1,7,20,.52); backdrop-filter: blur(3px); }
.swix-platform-panel { position: fixed; left: 76px; top: 50%; z-index: 141; width: min(324px, calc(100vw - 88px)); max-height: calc(100vh - 20px); overflow: visible; padding: 0 18px; transform: translateY(-50%) scale(.97); transform-origin: left center; border: 0; background: transparent; box-shadow: none; color: #e6f2ff; opacity: 0; transition: opacity .22s ease, transform .28s cubic-bezier(.2,.8,.2,1); }
.swix-platform-panel.is-deployed { opacity: 1; transform: translateY(-50%) scale(1); }
.swix-platform-panel::after { content: none; }
.swix-platform-knife-tools { position: relative; display: grid; gap: 5px; margin-top: 0; }
.swix-platform-knife-handle { position: absolute; left: -43px; top: -10px; bottom: -10px; z-index: 4; width: 104px; height: auto; object-fit: fill; opacity: .98; filter: saturate(.76) brightness(.72) contrast(.96) drop-shadow(3px 3px 6px rgba(0,0,0,.34)); pointer-events: none; transform: translate(-7px, -60px); transition: transform .46s cubic-bezier(.2,.8,.2,1), opacity .3s ease; }
.swix-platform-panel.is-deployed .swix-platform-knife-handle { transform: translate(0, -60px) rotate(0); }
.swix-platform-knife-flourish { position: absolute; left: 14px; bottom: -82px; z-index: 1; width: 230px; height: auto; opacity: 0; filter: saturate(.7) brightness(.68) drop-shadow(2px 4px 8px rgba(0,0,0,.3)); pointer-events: none; transform: translateX(-48px) rotate(-18deg) scale(.55); transform-origin: 8px 50%; transition: opacity .32s .5s ease, transform .62s .42s cubic-bezier(.18,.8,.22,1.08); }
.swix-platform-panel.is-deployed .swix-platform-knife-flourish { opacity: .72; transform: translateX(0) rotate(7deg) scale(1); }
.swix-platform-knife-tools, .swix-platform-product-dial { position: relative; z-index: 2; }
.swix-platform-knife-tools { gap: 4px; }
.swix-platform-module-link { position: relative; display: flex; min-height: 34px; align-items: center; justify-content: space-between; padding: 0 12px 0 15px; transform-origin: 7px 50%; border: 1px solid transparent; border-radius: 7px 20px 20px 7px; background: linear-gradient(90deg, rgba(18,56,94,.96), rgba(5,20,40,.94)); box-shadow: inset 0 1px rgba(131,211,255,.11), 0 4px 10px rgba(0,0,0,.18); color: #e4f1ff; text-decoration: none; opacity: 0; transform: translateX(-46px) rotate(-76deg) scaleX(.16); }
.swix-platform-module-link::before { content: ""; width: 7px; height: 7px; margin-right: 10px; flex: 0 0 auto; border: 2px solid #071225; border-radius: 50%; background: #61b9ff; box-shadow: 0 0 8px #299fff; }
.swix-platform-module-link strong { margin-right: auto; font-size: 13px; }
.swix-platform-module-link small { color: #8da5c1; font-size: 11px; font-weight: 700; }
.swix-platform-module-link { transition: opacity .32s ease, transform .38s cubic-bezier(.55,.05,.75,.3); transition-delay: calc((4 - var(--tool-index)) * 34ms); }
.swix-platform-panel.is-deployed .swix-platform-module-link { animation: swiss-tool-deploy .72s cubic-bezier(.18,.8,.22,1.15) both; animation-delay: calc(80ms + var(--tool-index) * 65ms); }
.swix-platform-module-link:hover, .swix-platform-module-link:focus-visible, .swix-platform-module-link[aria-current="page"] { border-color: rgba(79,174,255,.5); background: linear-gradient(90deg, rgba(20,64,103,.96), rgba(7,28,52,.98)); }
.swix-platform-module-link[aria-current="page"] { box-shadow: inset 0 0 18px rgba(48,142,233,.14), 0 0 14px rgba(36,132,225,.1); }
.swix-platform-product-dial { width: 258px; aspect-ratio: 1; height: auto; margin: 15px 0 -5px -35px; overflow: hidden; touch-action: none; overscroll-behavior: contain; transform-origin: 9px 50%; transform: translateX(-70px) rotate(-88deg) scale(.24); opacity: 0; border: 1px solid rgba(86,165,222,.28); border-radius: 50%; background: radial-gradient(circle at 50% 50%, rgba(22,62,98,.34), rgba(2,14,29,.94) 64%); box-shadow: inset 0 0 28px rgba(44,133,210,.1), 0 13px 30px rgba(0,0,0,.23); outline: none; }
.swix-platform-product-dial::before { content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; left: calc(50% - 5px); width: 10px; border-right: 1px solid rgba(92,190,255,.72); border-left: 1px solid rgba(92,190,255,.72); border-radius: 5px; background: rgba(1,9,21,.52); box-shadow: -2px 0 6px rgba(46,159,239,.16), 2px 0 6px rgba(46,159,239,.16); pointer-events: none; }
.swix-platform-panel.is-deployed .swix-platform-product-dial { animation: swiss-dial-deploy .78s .34s cubic-bezier(.18,.8,.22,1.08) both; }
.swix-platform-product-dial:focus-visible { border-color: #72c9ff; box-shadow: 0 0 0 2px rgba(80,181,255,.2); }
.swix-platform-product-wheel { position: absolute; inset: 0; }
.swix-platform-product-orbit { --orbit-angle: 0deg; position: absolute; top: 50%; left: 50%; display: grid; width: 58px; height: 58px; visibility: hidden; place-items: center; padding: 0; transform: translate(-50%,-50%) rotate(var(--orbit-angle)) translateY(-92px) rotate(calc(var(--orbit-angle) * -1)); border: 1px solid #449ee2; border-radius: 50%; background: #071a32; color: #70c4ff; box-shadow: 0 0 12px rgba(49,151,230,.22), inset 0 0 10px rgba(49,151,230,.1); text-decoration: none; cursor: pointer; }
.swix-platform-product-orbit.is-dial-visible { visibility: visible; }
.swix-platform-product-orbit span { font-size: 13px; font-weight: 800; line-height: 1; }
.swix-platform-product-orbit:hover, .swix-platform-product-orbit:focus-visible { border-color: #9bdcff; background: #0c294b; color: #d8f3ff; }
.swix-platform-product-orbit.is-planned { border-style: dashed; opacity: .66; }
.swix-platform-product-tooltip { position: fixed; z-index: 150; width: max-content; max-width: min(280px, calc(100vw - 28px)); padding: 9px 12px; transform: translate(12px, -50%); border: 1px solid rgba(105,194,255,.48); border-radius: 9px; background: rgba(3,15,31,.97); box-shadow: 0 10px 28px rgba(0,0,0,.38), inset 0 1px rgba(179,226,255,.08); color: #dff3ff; font: 600 12px/1.4 Manrope,sans-serif; letter-spacing: .01em; pointer-events: none; }
.swix-platform-product-tooltip[hidden] { display: none; }
.swix-platform-environment-switch { position: absolute; top: 50%; left: 50%; z-index: 3; display: grid; grid-template-columns: 1fr 1fr; width: 96px; transform: translate(-50%,-50%); overflow: hidden; border: 1px solid rgba(91,178,240,.34); border-radius: 9px; background: #061326; }
.swix-platform-environment-switch button { min-height: 30px; padding: 0 7px; border: 0; background: transparent; color: #7892ad; cursor: pointer; font: 700 9px Manrope,sans-serif; }
.swix-platform-environment-switch button + button { border-left: 1px solid rgba(91,178,240,.22); }
.swix-platform-environment-switch button.is-active { background: rgba(48,139,212,.23); color: #d9f2ff; }
body.has-open-swiss-menu { overflow: hidden; }
@keyframes swiss-tool-deploy { 0% { opacity: 0; transform: translateX(-46px) rotate(-76deg) scaleX(.16); } 58% { opacity: 1; transform: translateX(0) rotate(5deg) scaleX(1.02); } 78% { transform: translateX(0) rotate(-2deg) scaleX(.99); } 100% { opacity: 1; transform: translateX(0) rotate(0) scaleX(1); } }
@keyframes swiss-dial-deploy { 0% { opacity: 0; transform: translateX(-70px) rotate(-88deg) scale(.24); } 66% { opacity: 1; transform: translateX(0) rotate(4deg) scale(1.015); } 82% { transform: translateX(0) rotate(-2deg) scale(.995); } 100% { opacity: 1; transform: translateX(0) rotate(0) scale(1); } }
@keyframes swiss-trigger-orbit { to { transform: rotate(360deg); } }
@keyframes swiss-trigger-energy { 0%, 100% { box-shadow: 0 0 0 4px rgba(6,20,43,.82), 0 0 22px rgba(60,169,255,.8), inset 0 0 14px rgba(42,139,255,.3); } 48% { box-shadow: 0 0 0 4px rgba(6,20,43,.92), 0 0 38px rgba(60,169,255,1), inset 0 0 23px rgba(42,139,255,.55); } }
@media (max-width: 760px) {
  .swix-platform-orb { top:50%; bottom:auto; left:14px; width:54px; height:54px; transform:translateY(-50%); }
  .swix-platform-panel { top:auto; bottom:max(34px, env(safe-area-inset-bottom)); left:68px; max-height:calc(100vh - 28px); transform:translateX(-10px) scale(.97); transform-origin:left bottom; }
  .swix-platform-panel.is-deployed { transform:none; }
}
@media (prefers-reduced-motion: reduce) { .swix-platform-panel, .swix-platform-module-link, .swix-platform-orb, .swix-platform-orb::before, .swix-platform-orb::after, .swix-platform-product-dial { animation: none !important; transition: none !important; } .swix-platform-panel.is-deployed, .swix-platform-panel.is-deployed .swix-platform-module-link { opacity: 1; transform: translateY(-50%) scale(1); } .swix-platform-panel.is-deployed .swix-platform-module-link, .swix-platform-panel.is-deployed .swix-platform-product-dial { opacity: 1; transform: none; } }
.swix-platform-status { position: fixed; z-index: 151; left: 18px; bottom: 24px; padding: 12px 16px; border: 1px solid #449ee2; border-radius: 12px; background: #06152c; color: #e6f2ff; opacity: 0; pointer-events: none; }
.swix-platform-status.is-visible { opacity: 1; }
@media print { .swix-platform-menu, :host { display: none !important; } }
