.swf-player{min-width:0;--swf-ratio:990 / 550}
.swf-title{margin:0 0 32px}.swf-description:empty{display:none}.swf-description{margin-bottom:24px}
.swf-edit-controls,.swf-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0}
.swf-edit-controls{background:#eef5f9;border:1px solid #c6d6e2;border-radius:8px;padding:12px;margin:16px 0}
.swf-edit-controls label{display:flex;align-items:center;gap:6px}.swf-edit-controls small{flex-basis:100%}
.swf-control-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.swf-control-group button,.swf-poster-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;--button-height:var(--button-medium);font:800 14px/1.2 var(--font-system,system-ui)}
.swf-control-group .ca-action-icon,.swf-poster-controls .ca-action-icon{display:inline-flex;width:24px;height:24px;flex:none}.swf-edit-controls .ca-action-icon img{width:24px;height:24px}
.swf-poster-choice{border:0;padding:0;margin:0;display:flex;gap:8px}.swf-poster-choice legend{float:left;margin-right:8px;padding:0;font-weight:800}.swf-poster-choice label{font:14px/1.3 var(--font-system,system-ui);white-space:nowrap}
.swf-poster-choice input[type=radio]{width:16px;height:16px;margin:0;flex:none}.swf-playback-options{flex-basis:100%;border-top:1px solid #c6d6e2;padding-top:8px}
.swf-control-help{position:relative;font:14px/1.4 var(--font-system,system-ui)}.swf-control-help summary{cursor:pointer}.swf-control-help p{font:inherit;max-width:65ch;margin:8px 0}
.swf-edit-controls [data-swf-image-options]{flex-basis:100%}.swf-edit-controls [data-image-size-controls]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-basis:100%;padding-top:8px;border-top:1px solid #c6d6e2}
.swf-edit-controls [data-image-size-controls]>p{font:13px/1.4 var(--font-system,system-ui);margin:0;flex-basis:100%}.swf-edit-controls [data-image-size-controls] label{font:14px/1.3 var(--font-system,system-ui);margin:0}.swf-edit-controls [data-image-size-controls] select{max-width:200px}.swf-edit-controls [data-image-size-controls] input[type=range]{width:160px}
.swf-edit-controls button,.swf-actions button{border:1px solid #bcccd5;background:#fff;color:#172b3a;border-radius:5px;padding:8px 12px;cursor:pointer;font:inherit}
.swf-player button:disabled{opacity:.5;cursor:wait}.swf-player button:focus-visible{outline:3px solid #116b94;outline-offset:3px}
.swf-screen{position:relative;aspect-ratio:var(--swf-ratio);overflow:hidden;background:var(--swf-background,#FFFFFF);border-radius:var(--surface-corner,8px);width:100%}
.swf-stage{position:absolute;left:0;top:0;transform-origin:top left;width:100%;height:100%}
.swf-stage ruffle-player{display:block;width:100%;height:100%;background:var(--swf-background,#FFFFFF)}
.swf-start{position:absolute;inset:0;box-sizing:border-box;color:#172b3a;cursor:pointer}
/* The initial start surface is full-screen, not a compact transport button.
   Restrict the override to visible buttons so it never covers a playing SWF. */
.swf-player .swf-start:not([hidden]){margin:0;width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;flex:none!important;padding:0!important;display:grid!important;place-items:center;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important;opacity:1!important}
.swf-player .swf-start:not([hidden])>.cms-ui-icon,.swf-player .swf-start:not([hidden]) .swf-control-icon{display:none!important}
.swf-start::before,.swf-start::after{content:"";position:absolute;left:50%;top:50%;pointer-events:none}
.swf-start::before{width:var(--swf-start-size,500px);height:var(--swf-start-size,500px);transform:translate(-50%,-50%);border-radius:50%;background:rgba(0,0,0,.25)}
.swf-start::after{width:calc(var(--swf-start-size,500px) * .36);height:calc(var(--swf-start-size,500px) * .42);transform:translate(-33.333%,-50%);background:#fff;clip-path:polygon(0 0,100% 50%,0 100%)}
.swf-player .swf-start:focus-visible{outline-offset:-3px}
.swf-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.swf-poster-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-basis:100%}
.swf-control-icon{display:block;width:24px!important;height:24px!important;min-width:24px;max-width:none;margin:0;object-fit:contain;pointer-events:none}
.swf-actions button{--button-height:var(--button-medium);box-sizing:border-box;display:grid;place-items:center;width:var(--button-medium);padding:5px;flex:none}
.swf-actions button:hover:not(:disabled),.swf-start:hover{border-color:#116b94;box-shadow:0 0 0 1px #116b94}
.swf-play-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.swf-player [hidden]{display:none!important}.swf-status{font-size:14px;margin:4px 0;color:inherit}.swf-filename{font-size:13px;overflow-wrap:anywhere}
.swf-status:empty{display:none}
.swf-empty{padding:32px;background:#f0f3f5;color:#172b3a;border-radius:var(--surface-corner,8px)}
.swf-replay{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;cursor:pointer;flex:none;font:14px/1.4 var(--font-system,system-ui)}
.swf-replay input{position:static;width:20px;height:20px;margin:0;opacity:1;accent-color:#116b94;cursor:pointer;flex:none}
.swf-replay:focus-within{outline:3px solid #116b94;outline-offset:3px}.swf-replay:has(input:disabled){opacity:.5;cursor:not-allowed}
.swf-edit-controls input[type=number]{width:84px;min-height:32px}
.swf-edit-controls [data-swf-background-input]{width:96px;min-height:32px}
.swf-edit-controls [data-swf-background-input][aria-invalid=true]{outline:2px solid #b42318;outline-offset:1px}
.is-swf-expanded{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;box-sizing:border-box;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;z-index:2147483600!important;padding:16px;background:#fff;color:#172b3a;overflow:auto;display:flex;flex-direction:column;gap:8px}
.is-swf-expanded .swf-screen{flex:1;min-height:160px;aspect-ratio:auto}.is-swf-expanded>.canvas-title-editor,.is-swf-expanded>.swf-description,.is-swf-expanded>.swf-edit-controls,.is-swf-expanded>.inline-flow-slot,.is-swf-expanded>.story-field{display:none}
.is-swf-expanded .swf-actions{flex-shrink:0;padding:0}.is-swf-expanded .swf-status{flex-shrink:0}
@media(max-width:600px){.swf-actions button{--button-height:var(--button-large);width:var(--button-large);}.swf-actions button,.swf-edit-controls button{--button-height:var(--button-large);}.swf-filename{flex-basis:100%}.is-swf-expanded{padding:10px}}
