.farm-radio{position:absolute;z-index:4;left:max(9px,env(safe-area-inset-left));bottom:9px;display:flex;align-items:center;gap:4px;max-width:calc(100% - 20px);color:#304b3b}
.farm-radio button{min-height:44px;touch-action:manipulation;font:700 13px/1.2 system-ui;color:inherit;background:#fffbed;border:1px solid #9baa85}
.radio-key{display:flex;align-items:center;gap:4px;max-width:100%;padding:6px 10px;box-shadow:0 2px 4px #32452b33;touch-action:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.radio-key svg{width:26px;height:26px;flex:none}.radio-key span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.farm-radio[data-hearing] .radio-key{background:#c7e6bf}
.farm-radio[data-pressed] .radio-key{background:#ffe0a8;color:#53482d;transition:none;box-shadow:inset 0 2px 4px #53482d35}
.farm-radio[data-speaking] .radio-key{background:#386342;color:white}
.farm-radio .radio-off{font-size:21px;min-width:44px;padding:0}
.radio-status:not(:empty){position:absolute;bottom:calc(100% + 5px);left:0;width:max-content;max-width:min(235px,78vw);padding:8px;background:#fffcef;border:1px solid #a7b794;border-radius:13px;box-shadow:0 3px 12px #32452b33}
.radio-status{font:600 13px/1.4 system-ui}
.radio-status:not(:empty){z-index:1}
.school-dialog>.farm-radio{position:relative;flex:none;align-self:flex-start;left:0;bottom:0;margin:2px 8px max(4px,env(safe-area-inset-bottom));z-index:2}
.radio-off svg,.radio-off .sound-waves{display:none}
.visit-radio{position:relative;inset:auto;z-index:auto;display:grid;align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr));grid-column:span 2;gap:inherit;min-width:0;max-width:none}
.guest-bar #visittrade{grid-column:3;background:#f8e9e8}
.visit-radio button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:4px 1px;border:1.5px solid #d9decb;border-radius:18px;box-shadow:0 3px 0 #ced7bd88;font:700 12px/1.12 system-ui;color:#4c604a}
.visit-radio .radio-key{background:#edf3e3}
.visit-radio .radio-off{background:#f1eaf7}
.visit-radio button svg{display:block;flex:none;width:34px;height:34px}
.visit-radio[data-muted=true] .mute-cross{display:none}
.visit-radio[data-muted=true] .sound-waves{display:block}
.toolbar>.visit-radio{flex:2 1 150px;gap:8px}
.toolbar>.visit-radio button{padding:5px}
