[data-vobix-shield-status]{display:flex;justify-content:center;flex:0 0 auto;min-width:0;padding:6px max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px));background:#f5faff}
.vobixShieldWidget{display:flex;align-items:center;gap:10px;width:100%;min-height:64px;max-width:760px;padding:9px 12px;box-sizing:border-box;border:1px solid #c8dff3;border-radius:17px;text-decoration:none;color:#174f7b;background:linear-gradient(110deg,#fff,#edf7ff);box-shadow:0 3px 10px #163c6310;font:500 13px/1.4 system-ui,-apple-system,sans-serif;overflow-wrap:anywhere}
.vobixShieldEmblem{display:grid;place-items:center;width:44px;height:48px;flex:0 0 44px;background:linear-gradient(145deg,#d5f4ff,#e9eeff);clip-path:polygon(50% 0,96% 17%,91% 66%,75% 85%,50% 100%,25% 85%,9% 66%,4% 17%)}
.vobixShieldEmblem img{display:block;width:36px;height:36px;border-radius:10px}
.vobixShieldCopy{display:grid;gap:2px;min-width:0;flex:1}
.vobixShieldBrand{display:block;font-size:15px;line-height:1.25;font-weight:750;color:#163958}
.vobixShieldStatus{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:1.35}
.vobixShieldAction{flex:0 0 auto;color:#135d96;font-size:12px;font-weight:700;white-space:nowrap}
.vobixShieldDot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#5084aa}
.vobixShieldActivitySummary{display:block;font-size:12px;font-weight:450;margin-top:2px;color:#245a47}.vobixShieldActivitySummary[hidden]{display:none}
.genesisMessageActions{margin-top:10px}.genesisMessageActions>summary{min-height:44px;display:flex;align-items:center;font-weight:650;cursor:pointer}
.genesisMessageActions button,.genesisBankActions [data-shield-action]{min-height:44px;margin:5px 6px 0 0;padding:10px 12px;border:1px solid #b6d3ef;border-radius:10px;background:#edf6ff;color:#14436e;font:600 14px/1.4 system-ui;max-width:100%;white-space:normal}
.genesisMessageActions ul{padding-left:20px}.genesisMessageActions :focus-visible{outline:3px solid #0A5CFF;outline-offset:2px}
.vobixShieldWidget[data-state=on],.vobixShieldWidget[data-state=checked]{color:#174f7b;background:#eaf4ff}
.vobixShieldLogo{width:32px;height:32px;flex:0 0 32px;border-radius:9px}
.vobixShieldHeld{display:block;color:#174f7b;font-size:12px}.vobixShieldHeld[hidden]{display:none}
.vobixShieldWidget[data-state=warning],.vobixShieldWidget[data-state=held],.vobixShieldWidget[data-state=held-unavailable]{box-shadow:inset 0 0 0 2px #277ec6}
@keyframes vobixRealReview{50%{transform:scale(1.06);opacity:.72}}

.vobixShieldWidget:focus-visible{outline:3px solid #0A5CFF;outline-offset:2px}
html[data-vobix-font=large] .vobixShieldWidget{font-size:15px}
html[data-vobix-font=xlarge] .vobixShieldWidget{font-size:17px}
html[data-vobix-font=large] .vobixShieldBrand{font-size:17px}
html[data-vobix-font=xlarge] .vobixShieldBrand{font-size:19px}
html[data-vobix-font=large] :is(.vobixShieldStatus,.vobixShieldAction,.vobixShieldActivitySummary){font-size:14px}
html[data-vobix-font=xlarge] :is(.vobixShieldStatus,.vobixShieldAction,.vobixShieldActivitySummary){font-size:15px}
@media(max-width:359px){.vobixShieldWidget{gap:8px;padding:8px}.vobixShieldEmblem{width:36px;height:42px;flex-basis:36px}.vobixShieldEmblem img{width:30px;height:30px}}
@media(forced-colors:active){.vobixShieldWidget{border:1px solid LinkText;color:LinkText}.vobixShieldDot{background:LinkText}}

.vobixShieldTiming{display:block;font-size:.8em;font-weight:400}.vobixShieldTiming[hidden]{display:none}

/* Share the menu viewport and native inset fallback. Reserve the navigation
   area outside the dialog, so its final button can scroll fully above it. */
.vobixShieldWindow{
 box-sizing:border-box;position:fixed;
 inset:calc(12px + var(--vobix-menu-top,0px) + var(--vobix-safe-top,env(safe-area-inset-top,0px))) max(12px,env(safe-area-inset-right,0px)) auto max(12px,env(safe-area-inset-left,0px));
 width:520px;max-width:calc(100vw - max(12px,env(safe-area-inset-left,0px)) - max(12px,env(safe-area-inset-right,0px)));
 min-height:0;max-height:calc(var(--vobix-menu-height,100dvh) - var(--vobix-safe-top,env(safe-area-inset-top,0px)) - var(--vobix-menu-safe-bottom,env(safe-area-inset-bottom,0px)) - 24px);
 overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:8px;margin:0 auto;padding:24px;
 border:2px solid #0A5CFF;border-radius:24px;background:#F7F9FF;color:#162033;font:400 16px/1.5 system-ui,sans-serif;overflow-wrap:anywhere;box-shadow:0 18px 70px #10265533
}
.vobixShieldWindow::backdrop{background:#10265566}.vobixShieldWindow h2{font-size:1.5em;line-height:1.2;margin:0 0 12px}.vobixShieldWindow h3{font-size:1.1em}.vobixShieldWindow p{margin:10px 0}.vobixShieldWindow strong{font-weight:700}
.vobixShieldWindow h2{color:#0A5CFF;text-align:center;margin-top:8px}
.vobixShieldWindow h2+p{text-align:center}
.vobixShieldGlass{padding:20px;border:2px solid #0A5CFF;border-radius:24px;background:linear-gradient(145deg,#fff,#e8f0ff);text-align:center}.vobixShieldGlass img{display:block;margin:0 auto 12px}.vobixShieldGlass strong{display:block;color:#0A5CFF}
.vobixShieldStages{list-style:none;margin:20px 0;padding:0;display:grid;gap:12px}.vobixShieldStages li{background:white;border:1px solid #c6d8ff;border-radius:14px;padding:12px}.vobixShieldStages strong{color:#0A5CFF;font-size:.85em;letter-spacing:.03em}
.vobixShieldWindow button,.vobixShieldWindow summary,.vobixShieldWindow a{box-sizing:border-box;min-height:44px;display:block;padding:10px 12px;max-width:100%;white-space:normal;font:600 1em/1.4 system-ui;cursor:pointer}.vobixShieldWindow button{border:1px solid #0A5CFF;border-radius:12px;background:#0A5CFF;color:white}.vobixShieldWindow button:disabled{border-color:#8392ad;background:#e2e9f7;color:#33425c;cursor:default}.vobixShieldWindow a{color:#0A5CFF}.vobixShieldWindow :focus-visible{outline:3px solid #0A5CFF;outline-offset:3px}.vobixShieldWindowClose{width:100%;margin-top:12px}.vobixShieldGoal{margin-top:16px;padding-top:8px;border-top:1px solid #c6d8ff}
html[data-vobix-font=large] .vobixShieldWindow{font-size:18px}html[data-vobix-font=xlarge] .vobixShieldWindow{font-size:20px}
@media(max-width:360px){.vobixShieldWindow{padding:16px}.vobixShieldGlass{padding:12px}}

@media(forced-colors:active){.vobixShieldWindow,.vobixShieldGlass,.vobixShieldStages li{border-color:CanvasText}.vobixShieldWindow button{border-color:ButtonText}}


/* Idle motion is decorative. Only the engine's reviewing state uses the work pulse. */
.vobixShieldCore{position:relative;display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:radial-gradient(circle,#caedff,#eaf4ff 72%);isolation:isolate}
.vobixShieldCore::before{content:"";position:absolute;inset:0;border:1px solid #95c4f5;border-top:2px solid #39ff14;border-right:2px solid #39ff14;border-radius:50%;pointer-events:none}
.vobixShieldCore .vobixShieldLogo{width:29px;height:29px;flex:none;border-radius:9px}
.vobixShieldCoreLarge{width:128px;height:128px;margin:4px auto 16px;background:radial-gradient(circle,#a9dcff,#e8f0ff 72%)}
.vobixShieldGlass .vobixShieldCoreLarge img{width:72px;height:72px;border-radius:21px;margin:0;box-shadow:0 8px 24px #116bd52b}
.vobixShieldCoreLarge::before{inset:4px;border-width:2px;border-top-width:3px;border-right-width:3px}
.vobixShieldMotionNote{font-size:.82em;color:#3d587c}
@keyframes vobixIdleOrbit{to{transform:rotate(360deg)}}
@keyframes vobixIdleBreath{50%{transform:scale(1.018)}}
@media(prefers-reduced-motion:no-preference){
  [data-motion=idle] .vobixShieldCore::before{animation:vobixIdleOrbit 8s linear infinite}
  [data-motion=idle] .vobixShieldCore img{animation:vobixIdleBreath 6s ease-in-out infinite}
  [data-motion=working] .vobixShieldCore::before{animation:vobixIdleOrbit 1.4s linear infinite}
  [data-motion=working] .vobixShieldCore img{animation:vobixRealReview 1s ease-in-out infinite}
}
html[data-vobix-motion-paused=true] .vobixShieldCore::before,html[data-vobix-motion-paused=true] .vobixShieldCore img,[data-motion-paused=true] .vobixShieldCore::before,[data-motion-paused=true] .vobixShieldCore img{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.vobixShieldCore::before,.vobixShieldCore img{animation:none!important;transform:none!important}}

/* In a conversation, reserve the space for messages. Full review details and
   timing remain available by opening the same accessible Escudo control. */
body.vobixConversation [data-vobix-shield-status]{padding:2px max(8px,env(safe-area-inset-right,0px)) 4px max(8px,env(safe-area-inset-left,0px))}
body.vobixConversation .vobixShieldWidget{min-height:44px;max-width:none;padding:4px 8px;gap:8px;border-radius:12px;box-shadow:none}
body.vobixConversation .vobixShieldCopy{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:0}
body.vobixConversation .vobixShieldBrand{font-size:1em;line-height:1.3;font-weight:650}
body.vobixConversation .vobixShieldStatus{font-size:.92em;line-height:1.3;font-weight:400}
body.vobixConversation :is(.vobixShieldTiming,.vobixShieldHeld,.vobixShieldActivitySummary){display:none}
body.vobixConversation .vobixShieldWidget :is(.vobixShieldCore,.vobixShieldEmblem){width:26px;height:28px;flex:0 0 26px}
body.vobixConversation .vobixShieldWidget :is(.vobixShieldLogo,.vobixShieldEmblem img){width:22px;height:22px;flex:none;border-radius:6px}
body.vobixConversation .vobixShieldAction{font-size:.92em}

