/* Bounded feedback surfaces: compact copy, clear recovery, unchanged content underneath. */
body .state-empty,body .state-failure{padding:14px 16px;border:1px solid #456174;border-radius:10px;background:#122735;color:#dce8ee;font-size:13px;line-height:1.55}
body .state-empty p,body .state-failure p{margin:0 0 8px}
body .state-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;margin:8px 0 0;border:1px solid #78b49f;border-radius:8px;background:#1b4038;color:#e0f4eb;font:600 12px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;cursor:pointer;vertical-align:middle}
body .state-action:hover{background:#295449}
body .state-action:focus-visible{outline:2px solid #a6ddcb;outline-offset:3px}
body :is(.state-empty,.state-failure)>.state-action{display:flex;width:max-content;max-width:100%}
body .state-loading:not([hidden]){font-size:13px;line-height:1.55;color:#c3d7e1}
body .state-loading::before{content:'';display:inline-block;width:12px;height:12px;margin-inline-end:8px;border:2px solid #456174;border-top-color:#a6ddcb;border-radius:50%;vertical-align:-2px;animation:state-spin 1s linear infinite}
body .state-slow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px;font-size:12px;color:#c3d7e1}
body .state-slow .state-action{margin:0}
body .state-empty [data-state-action]{text-decoration:none}
@keyframes state-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){body .state-empty,body .state-failure{padding:12px}body .state-slow{align-items:flex-start}body .state-slow>.state-action{flex:none}}
@media(prefers-reduced-motion:reduce){body .state-loading::before{animation:none}}
@media(forced-colors:active){body .state-action{background:ButtonFace;color:ButtonText;border-color:ButtonText}body .state-empty,body .state-failure{background:Canvas;color:CanvasText;border-color:CanvasText}body .state-loading::before{border-color:GrayText;border-top-color:Highlight}}
/* Legacy loading and card-grid rules need explicit scope so feedback stays compact. */
body.site-ui.site-refresh :is(.state-empty,.state-failure){padding:14px 16px;border:1px solid #456174;border-radius:10px;background:#122735;color:#dce8ee;font-size:13px;line-height:1.55}
body.site-ui.site-refresh :is(#loading,#hero-loading).state-failure{padding:14px 16px;color:#dce8ee}
body.site-ui.site-refresh button.state-action{min-height:44px;padding:8px 14px;margin-top:8px;border:1px solid #78b49f;border-radius:8px;background:#1b4038;color:#e0f4eb;font-size:12px;line-height:1.4}
body.site-ui.site-refresh button.state-action:hover{background:#295449}
body.site-ui.site-refresh button.state-action:focus-visible{outline:2px solid #a6ddcb;outline-offset:3px}
#hero-grid>.state-empty{grid-column:1/-1;min-width:0}
@media(max-width:600px){body.site-ui.site-refresh :is(.state-empty,.state-failure),body.site-ui.site-refresh :is(#loading,#hero-loading).state-failure{padding:12px}}
@media(forced-colors:active){body.site-ui.site-refresh button.state-action{background:ButtonFace;color:ButtonText;border-color:ButtonText}body.site-ui.site-refresh :is(.state-empty,.state-failure){background:Canvas;color:CanvasText;border-color:CanvasText}}
body.site-ui.site-refresh .state-failure:not([hidden]){display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
body.site-ui.site-refresh .state-failure>p{flex:1 1 260px;margin:0}
body.site-ui.site-refresh .state-failure>button.state-action{margin:0}
@media(max-width:600px){body.site-ui.site-refresh .state-failure:not([hidden]){flex-direction:column;align-items:flex-start}body.site-ui.site-refresh .state-failure>p{flex:auto}}
