/* Shared frontend and preview surface. No theme resets. */
.rst-button.rst-button[hidden]{display:none!important}
.rst-button.rst-button{position:fixed;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:var(--rst-width,48px);height:var(--rst-height,48px);min-width:44px;min-height:44px;padding:6px;border:var(--rst-border-width,0px) solid var(--rst-normal-border,#222831);border-radius:var(--rst-radius,50%);background:var(--rst-normal-bg,#222831);color:var(--rst-normal-fg,#fff);box-shadow:var(--rst-shadow,none);font:600 14px/1.2 system-ui,sans-serif;text-decoration:none;text-transform:none;letter-spacing:normal;cursor:pointer;z-index:var(--rst-z,90);opacity:var(--rst-opacity,1);transition:opacity .16s ease,background-color .16s ease,color .16s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;isolation:isolate}
.rst-button.rst-button:hover{color:var(--rst-hover-fg,#fff);background:var(--rst-hover-bg,#121517);border-color:var(--rst-hover-border,#121517);opacity:1}
.rst-button.rst-button:focus-visible{color:var(--rst-focus-fg,#fff);background:var(--rst-focus-bg,#121517);border-color:var(--rst-focus-border,#121517);opacity:1;outline:3px solid var(--rst-focus-fg,#fff);outline-offset:3px;box-shadow:0 0 0 5px var(--rst-focus-bg,#121517)}
.rst-button.rst-button[data-corner="bottom-right"]{right:calc(var(--rst-x,24px) + env(safe-area-inset-right,0px));bottom:calc(var(--rst-y,24px) + env(safe-area-inset-bottom,0px))}
.rst-button.rst-button[data-corner="bottom-left"]{left:calc(var(--rst-x,24px) + env(safe-area-inset-left,0px));bottom:calc(var(--rst-y,24px) + env(safe-area-inset-bottom,0px))}
.rst-button.rst-button[data-corner="top-right"]{right:calc(var(--rst-x,24px) + env(safe-area-inset-right,0px));top:calc(var(--rst-y,24px) + var(--rst-adminbar,0px) + env(safe-area-inset-top,0px))}
.rst-button.rst-button[data-corner="top-left"]{left:calc(var(--rst-x,24px) + env(safe-area-inset-left,0px));top:calc(var(--rst-y,24px) + var(--rst-adminbar,0px) + env(safe-area-inset-top,0px))}
.rst-button.rst-button .rst-icon{display:flex;flex:none;width:var(--rst-icon-size,24px);height:var(--rst-icon-size,24px)}
.rst-button.rst-button .rst-icon svg{width:100%;height:100%;display:block}
.rst-button.rst-button .rst-text{overflow-wrap:anywhere}
.rst-button.rst-button .rst-image{display:none;width:100%;height:100%;object-fit:contain;max-width:100%;border:0;border-radius:0}
.rst-button.rst-button[data-type="text"] .rst-icon,.rst-button.rst-button[data-type="icon"] .rst-text,.rst-button.rst-button[data-type="image"] .rst-icon,.rst-button.rst-button[data-type="image"] .rst-text{display:none}
.rst-button.rst-button[data-type="image"] .rst-image{display:block}
.rst-button.rst-button .rst-ring{position:absolute;inset:0;width:100%;height:100%;fill:none;pointer-events:none;display:none;overflow:visible}
.rst-button.rst-button[data-ring="true"] .rst-ring{display:block}
.rst-ring circle{stroke:currentColor;stroke-width:2;stroke-dasharray:100;stroke-dashoffset:var(--rst-progress,100);transform:rotate(-90deg);transform-origin:center}
@media(prefers-reduced-motion:reduce){.rst-button.rst-button{transition:none!important;animation:none!important}}
@media(forced-colors:active){.rst-button.rst-button{border:2px solid ButtonText}.rst-button.rst-button:focus-visible{outline:3px solid Highlight}}

.rst-button.rst-button .rst-icon{max-width:100%;max-height:100%}

.rst-button.rst-button:not(.rst-shown){opacity:0;pointer-events:none}
