.crafted-button{position:relative;isolation:isolate;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:background .3s,color .3s,transform .25s,box-shadow .3s,border-color .3s!important}.unit-actions .crafted-button:after{display:none!important}.crafted-button.with-icon{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:9px 11px 9px 19px}.crafted-button .button-label{position:relative;z-index:2;white-space:nowrap}.crafted-button .button-icon{position:relative;z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none;background:#eff4e21f;font-size:19px;line-height:1}.crafted-button .button-icon>span{display:block}.crafted-button:disabled{opacity:.3;transform:none!important;box-shadow:none!important}.crafted-button:focus-visible{outline:3px solid #789067;outline-offset:4px}
/* Satin Sweep: a colour wash rises beneath a stationary label. */
.buttons-sweep .crafted-button{border-radius:18px!important}.buttons-sweep .crafted-button:before{content:'';position:absolute;inset:-1px;z-index:0;background:#365a46;transform:translateY(105%);transition:transform .45s cubic-bezier(.16,1,.3,1);pointer-events:none}.buttons-sweep .crafted-button.is-pressed:before,.buttons-sweep .crafted-button:focus-visible:before{transform:translateY(0)}.buttons-sweep .crafted-button.is-pressed,.buttons-sweep .crafted-button:focus-visible{color:#f8f5e9;transform:translateY(1px)!important}.buttons-sweep .button{background:#213c30!important;color:#f8f5e9!important;box-shadow:none!important}.buttons-sweep .button.outline,.buttons-sweep .unit-toggle{background:#f7f5ed!important;color:#294535!important;border:1px solid #47634f}.buttons-sweep .button.outline.is-pressed,.buttons-sweep .unit-toggle.is-pressed,.buttons-sweep .button.outline:focus-visible,.buttons-sweep .unit-toggle:focus-visible{color:#f7f5ed!important}.buttons-sweep .menu,.buttons-sweep .room-prev,.buttons-sweep .room-next,.buttons-sweep .stack-arrow{border-radius:14px!important}.buttons-sweep .button-icon{background:#f3efd725;color:inherit}.buttons-sweep .unit-toggle .button-icon,.buttons-sweep .outline .button-icon{background:#ccd8c2}
/* Tailored Press: a small physical edge compresses under the finger. */
.buttons-lift .crafted-button{border-radius:99px!important;border:1px solid #617b5e!important;box-shadow:0 3px 0 #1f372c,0 7px 14px #29453517!important;transform:translateY(-1px)}.buttons-lift .button{background:#365b46!important;color:#f8f6e9!important}.buttons-lift .button.outline,.buttons-lift .unit-toggle{background:#f4f4e7!important;color:#34523c!important;border-color:#91a287!important;box-shadow:0 3px 0 #a7b59c,0 7px 14px #29453510!important}.buttons-lift .crafted-button.is-pressed{transform:translateY(2px)!important;box-shadow:0 0 0 #294535,0 2px 5px #29453512!important}.buttons-lift .button-icon{background:#e5ecd822;border:1px solid #eff4e439}.buttons-lift .unit-toggle .button-icon,.buttons-lift .outline .button-icon{background:#e1e7d5;border-color:#a7b59c}
/* Orbit Arrow: restrained silhouette with a separate animated action disc. */
.buttons-arrow .crafted-button.with-icon{border-radius:99px!important;padding:7px 8px 7px 20px;min-height:50px}.buttons-arrow .button{background:#273f33!important;color:#f6f3e8!important;box-shadow:none!important}.buttons-arrow .button-icon{width:34px;height:34px;background:#dce7c6;color:#294232;transition:background .25s,transform .35s cubic-bezier(.16,1,.3,1)}.buttons-arrow .button.outline,.buttons-arrow .unit-toggle{background:transparent!important;color:#2b4936!important;border:1px solid #78906a!important}.buttons-arrow .button.outline .button-icon,.buttons-arrow .unit-toggle .button-icon{background:#294535;color:#f5f4e8}.buttons-arrow .crafted-button.is-pressed .button-icon{transform:rotate(45deg) scale(.92);background:#becf9e}.buttons-arrow .crafted-button.is-pressed{transform:scale(.98)!important}.buttons-arrow .room-prev,.buttons-arrow .room-next,.buttons-arrow .stack-arrow{border-color:#829670;background:#e4eacb}.buttons-arrow .crafted-button:focus-visible .button-icon{transform:rotate(45deg)}
@media(hover:hover){.buttons-sweep .crafted-button:hover:before{transform:translateY(0)}.buttons-sweep .crafted-button:hover{color:#f7f5ed!important;transform:none!important}.buttons-lift .crafted-button:hover{transform:translateY(-3px);box-shadow:0 5px 0 #294535,0 10px 16px #29453519!important}.buttons-lift .button.outline:hover,.buttons-lift .unit-toggle:hover{box-shadow:0 5px 0 #a7b59c,0 10px 16px #29453510!important}.buttons-arrow .crafted-button:hover{transform:none!important}.buttons-arrow .crafted-button:hover .button-icon>span{animation:arrow-pass .45s cubic-bezier(.16,1,.3,1)}.buttons-arrow .crafted-button:hover .button-icon{background:#c9d8ad}}
@keyframes arrow-pass{0%{transform:translate(0,0);opacity:1}45%{transform:translate(10px,-10px);opacity:0}46%{transform:translate(-10px,10px);opacity:0}100%{transform:translate(0,0);opacity:1}}
@media(max-width:380px){.unit-actions .crafted-button.with-icon{padding:8px 8px 8px 12px;gap:6px;font-size:12px}.unit-actions .crafted-button .button-icon{height:27px;width:27px;font-size:17px}.buttons-arrow .unit-actions .crafted-button.with-icon{padding:7px 7px 7px 12px}}
@media(prefers-reduced-motion:reduce){.crafted-button,.crafted-button:before,.crafted-button .button-icon{transition:none!important}.crafted-button .button-icon>span{animation:none!important}}html.paused .crafted-button,html.paused .crafted-button:before,html.paused .crafted-button .button-icon{transition:none!important}html.paused .crafted-button .button-icon>span{animation:none!important}
