/* A compact, nonmodal status card. Its name is retained only for markup compatibility. */
.wes-page-veil{position:fixed;inset:auto max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) auto;z-index:10000;width:min(288px,calc(100vw - 40px));pointer-events:none;background:transparent;opacity:0;visibility:hidden;transition:opacity 200ms ease,visibility 0s 200ms}
.wes-loading-panel{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;padding:18px 20px;color:#232323;background:#F7F6F2;border:1px solid #D3D0C9;box-shadow:0 8px 28px rgba(35,35,35,.14);border-radius:2px}
.wes-loading-cube{display:block;width:72px;height:auto;overflow:visible;color:#E11B22;margin:0 auto 8px}
.wes-loading-cube path{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}
.wes-loading-cube circle{fill:currentColor}
.wes-loading-title{font:500 13px/1.5 var(--sans,Arial,sans-serif);margin:0;color:#232323;letter-spacing:0}
.wes-loading-message{font:400 12px/1.6 var(--sans,Arial,sans-serif);margin:8px 0 0;color:#66645F}
.wes-loading-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.wes-loading-actions button{margin-top:14px;border:1px solid #D3D0C9;background:transparent;color:#232323;font:400 12px/1.4 var(--sans,Arial,sans-serif);padding:8px 10px;cursor:pointer;min-height:40px}
.wes-loading-actions [data-loader-retry]{background:#232323;border-color:#232323;color:#F7F6F2}
.wes-loading-actions button:hover{background:#E11B22;border-color:#E11B22;color:#F7F6F2}
.wes-loading-actions button:focus-visible{outline:2px solid #E11B22;outline-offset:4px}
.wes-page-veil [hidden]{display:none!important}
html[data-loader-reset="true"] .wes-page-veil{transition:none!important}
html[data-loader-visible="true"] .wes-page-veil{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
html[data-loader-active="true"] .wes-loading-cube path,html[data-loader-active="true"] .wes-loading-cube circle{animation:var(--cube-animation) 2s ease-in-out calc(0ms - var(--wes-loader-elapsed,0ms)) infinite both}
html[data-loader-active="true"] .wes-cube-geometry{animation:wes-cube-cycle 2s ease-in-out calc(0ms - var(--wes-loader-elapsed,0ms)) infinite both}
html[data-loader-state="offline"] .wes-loading-cube *,html[data-loader-state="error"] .wes-loading-cube *{animation:none!important;opacity:1;stroke-dashoffset:0}
@keyframes wes-cube-cycle{0%,84%,100%{opacity:0}3.5%,74%{opacity:1}}
.wes-loading-cube path[data-edge="top"]{--cube-animation:wes-cycle-top}
@keyframes wes-cycle-top{0%,3.5%{stroke-dashoffset:1}14%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="left"]{--cube-animation:wes-cycle-left}
@keyframes wes-cycle-left{0%,16%{stroke-dashoffset:1}26%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="right"]{--cube-animation:wes-cycle-right}
@keyframes wes-cycle-right{0%,16%{stroke-dashoffset:1}26%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="bottom-left"]{--cube-animation:wes-cycle-bottom-left}
@keyframes wes-cycle-bottom-left{0%,28%{stroke-dashoffset:1}36%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="bottom-right"]{--cube-animation:wes-cycle-bottom-right}
@keyframes wes-cycle-bottom-right{0%,28%{stroke-dashoffset:1}36%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="depth-a"]{--cube-animation:wes-cycle-depth-a}
@keyframes wes-cycle-depth-a{0%,38%{stroke-dashoffset:1}46.5%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="depth-b"]{--cube-animation:wes-cycle-depth-b}
@keyframes wes-cycle-depth-b{0%,38%{stroke-dashoffset:1}46.5%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="depth-c"]{--cube-animation:wes-cycle-depth-c}
@keyframes wes-cycle-depth-c{0%,38%{stroke-dashoffset:1}46.5%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="depth-d"]{--cube-animation:wes-cycle-depth-d}
@keyframes wes-cycle-depth-d{0%,38%{stroke-dashoffset:1}46.5%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="rear-top"]{--cube-animation:wes-cycle-rear-top}
@keyframes wes-cycle-rear-top{0%,48.5%{stroke-dashoffset:1}57%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="rear-right"]{--cube-animation:wes-cycle-rear-right}
@keyframes wes-cycle-rear-right{0%,48.5%{stroke-dashoffset:1}57%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="rear-bottom"]{--cube-animation:wes-cycle-rear-bottom}
@keyframes wes-cycle-rear-bottom{0%,48.5%{stroke-dashoffset:1}57%,100%{stroke-dashoffset:0}}
.wes-loading-cube path[data-edge="rear-left"]{--cube-animation:wes-cycle-rear-left}
@keyframes wes-cycle-rear-left{0%,48.5%{stroke-dashoffset:1}57%,100%{stroke-dashoffset:0}}
.wes-loading-cube circle[data-vertex="A"]{--cube-animation:wes-cycle-node-A}
@keyframes wes-cycle-node-A{0%{opacity:0}3.5%,100%{opacity:1}}
.wes-loading-cube circle[data-vertex="B"]{--cube-animation:wes-cycle-node-B}
@keyframes wes-cycle-node-B{0%,14%{opacity:0}17.5%,100%{opacity:1}}
.wes-loading-cube circle[data-vertex="C"]{--cube-animation:wes-cycle-node-C}
@keyframes wes-cycle-node-C{0%,26%{opacity:0}29.5%,100%{opacity:1}}
.wes-loading-cube circle[data-vertex="D"]{--cube-animation:wes-cycle-node-D}
@keyframes wes-cycle-node-D{0%,26%{opacity:0}29.5%,100%{opacity:1}}
.wes-loading-cube circle[data-vertex="E"]{--cube-animation:wes-cycle-node-E}
@keyframes wes-cycle-node-E{0%,46.5%{opacity:0}50%,100%{opacity:1}}
.wes-loading-cube circle[data-vertex="F"]{--cube-animation:wes-cycle-node-F}
@keyframes wes-cycle-node-F{0%,46.5%{opacity:0}50%,100%{opacity:1}}
.wes-loading-cube circle[data-vertex="G"]{--cube-animation:wes-cycle-node-G}
@keyframes wes-cycle-node-G{0%,46.5%{opacity:0}50%,100%{opacity:1}}
.wes-loading-cube circle[data-vertex="H"]{--cube-animation:wes-cycle-node-H}
@keyframes wes-cycle-node-H{0%,46.5%{opacity:0}50%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){.wes-page-veil{transition:none!important}.wes-loading-cube *{animation:none!important;opacity:1;stroke-dashoffset:0}}

/* Portable brand specimen. Geometry and keyframes above remain unchanged from v35. */
[data-wes-cube-specimen]{--cube-ink:#232323;--cube-paper:#F7F6F2;--cube-stone:#E5E3DE;--cube-red:#E11B22;color:var(--cube-ink);font-family:Roboto,Arial,'PingFang SC','Microsoft YaHei',sans-serif}
.wes-cube-specimen-frame{background:var(--cube-paper);border:1px solid var(--cube-stone);padding:26px 30px 20px}
.wes-cube-specimen-top{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:11px;line-height:1.5}
.wes-cube-specimen-kicker{margin:0;color:#66645F;letter-spacing:.08em;text-transform:uppercase}
.wes-cube-specimen-controls{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.wes-cube-specimen-controls button{appearance:none;border:0;border-bottom:1px solid transparent;background:transparent;padding:10px 0;min-height:44px;font:500 12px/1.4 Roboto,Arial,sans-serif;color:#232323;cursor:pointer}
.wes-cube-specimen-controls button:hover{border-bottom-color:#E11B22;color:#E11B22}
.wes-cube-specimen-controls button:focus-visible,.wes-cube-links a:focus-visible{outline:2px solid #E11B22;outline-offset:5px}
.wes-cube-specimen-controls button:disabled{cursor:default;opacity:.55}
.wes-cube-specimen-visual{display:grid;place-items:center;min-height:330px;padding:25px 0}
.wes-cube-specimen-visual .wes-loading-cube{width:300px;max-width:80%;margin:0}
[data-wes-cube-specimen][data-cube-state="playing"] .wes-loading-cube path,[data-wes-cube-specimen][data-cube-state="playing"] .wes-loading-cube circle,[data-wes-cube-specimen][data-cube-state="paused"] .wes-loading-cube path,[data-wes-cube-specimen][data-cube-state="paused"] .wes-loading-cube circle{animation:var(--cube-animation) 2s ease-in-out infinite both}
[data-wes-cube-specimen][data-cube-state="playing"] .wes-cube-geometry,[data-wes-cube-specimen][data-cube-state="paused"] .wes-cube-geometry{animation:wes-cube-cycle 2s ease-in-out infinite both}
[data-wes-cube-specimen][data-cube-state="paused"] .wes-loading-cube *{animation-play-state:paused}
.wes-cube-specimen-caption{font-size:12px;line-height:1.6;margin:0;color:#66645F}
.wes-cube-legend{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;margin:0;padding:24px 0;list-style:none;border-bottom:1px solid var(--cube-stone)}
.wes-cube-legend li{display:grid;grid-template-columns:28px 1fr;column-gap:12px;font-size:13px;line-height:1.55;margin:0}
.wes-cube-legend abbr{text-decoration:none;color:#E11B22;font-weight:500;font-size:12px}
.wes-cube-legend small{display:block;color:#66645F;font-size:11px;margin-top:3px}
.wes-cube-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:18px}
.wes-cube-links a{font-size:12px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;text-align:center;text-decoration:none;color:#232323;border-bottom:1px solid #E5E3DE}
.wes-cube-links a:hover{color:#E11B22;border-color:#E11B22}
.wes-cube-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}
@media(max-width:600px){.wes-cube-specimen-frame{padding:18px}.wes-cube-specimen-top{align-items:flex-start;flex-direction:column;gap:0}.wes-cube-specimen-visual{min-height:260px;padding:15px 0}.wes-cube-specimen-visual .wes-loading-cube{width:255px}.wes-cube-legend{gap:20px 18px}.wes-cube-legend li{grid-template-columns:23px 1fr;column-gap:8px;font-size:12px}.wes-cube-links{gap:8px 20px}}
@media(prefers-reduced-motion:reduce){[data-wes-cube-specimen] .wes-loading-cube *{animation:none!important;opacity:1;stroke-dashoffset:0}}
