/* V28 precise compact adaptation of the supplied square widget reference */
.dy-widgets{gap:12px!important;margin:0 0 30px!important;align-items:stretch!important}
.dy-cal-widget,.dy-weather{aspect-ratio:1!important;border-radius:24%!important;box-sizing:border-box!important;padding:11% 10% 9%!important;overflow:hidden!important}
.dy-cal-widget{display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
.dy-calendar-heading{margin:0 0 11%!important;display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:2px!important}
.dy-calendar-heading strong{font-size:clamp(11px,3.5vw,17px)!important;font-weight:750!important;letter-spacing:-.5px!important}
.dy-calendar-heading span{font-size:clamp(7px,2vw,10px)!important;letter-spacing:-.3px!important}
.dy-cal-widget .dy-week{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;white-space:normal!important;word-spacing:0!important;font-size:0!important;margin:0 0 8%!important;line-height:1!important}
.dy-cal-widget .dy-week span{font-size:clamp(9px,2.7vw,13px)!important;text-align:center!important}
.dy-cal-widget .dy-week span:first-child{color:#e44f66!important}.dy-cal-widget .dy-week span:last-child{color:#6374ea!important}
.dy-cal-widget .dy-dates{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;grid-template-rows:repeat(5,minmax(0,1fr))!important;flex:1!important;min-height:0!important;gap:0!important;font-size:clamp(10px,2.8vw,14px)!important}
.dy-cal-widget .dy-dates span{aspect-ratio:auto!important;line-height:1!important;min-width:0!important;font-weight:550!important}
.dy-cal-widget .dy-dates span:nth-child(7n+1){color:#e44f66}.dy-cal-widget .dy-dates span:nth-child(7n){color:#6374ea}
.dy-cal-widget .dy-dates span.dy-today{color:#fff!important;background:#232329!important;border-radius:50%!important;width:90%!important;aspect-ratio:1!important;justify-self:center!important}
.dy-weather{display:flex!important;flex-direction:column!important;align-items:flex-start!important;background:linear-gradient(150deg,#2e5788 0%,#426fa4 55%,#709bcf 100%)!important}
.dy-weather b{font-size:clamp(11px,3.3vw,17px)!important;line-height:1.2!important;margin:0!important;flex:none!important}
.dy-weather .dy-deg{font-size:clamp(43px,13vw,66px)!important;font-weight:250!important;line-height:1.08!important;letter-spacing:-3px!important;margin:5% 0 0!important;flex:none!important}
.dy-weather .dy-sun{font-size:clamp(22px,6.8vw,34px)!important;line-height:1!important;margin:auto 0 2%!important;flex:none!important}
.dy-weather>span:not(.dy-location-arrow){font-size:clamp(12px,3.6vw,18px)!important;font-weight:600!important;line-height:1.15!important;flex:none!important}
.dy-weather p{font-size:clamp(10px,2.8vw,15px)!important;line-height:1.2!important;margin:3% 0 0!important;letter-spacing:-.35px!important;white-space:nowrap!important;flex:none!important}
/* Keep metadata outside bubble with fixed space, and no failure animation or width changes */
.v32-msg.mine .v32-msg-meta{width:52px!important;min-width:52px!important;max-width:52px!important;flex:0 0 52px!important;box-sizing:border-box!important;display:flex!important;align-items:flex-end!important;justify-content:flex-end!important;gap:2px!important}
.v32-msg.mine .v32-msg-meta .dy24-fail-icon{display:flex!important;width:48px!important;min-width:48px!important;height:25px!important;min-height:25px!important;padding:0!important;border-radius:3px!important;background:#f26a58!important;box-shadow:none!important;margin:0!important;animation:none!important;transform:none!important;align-items:center!important;justify-content:space-evenly!important;font-size:0!important;line-height:1!important;color:#fff!important}
.v32-msg.mine .v32-msg-meta .dy24-fail-icon:before{content:'⟳'!important;font-size:20px!important;font-weight:800!important;line-height:1!important}
.v32-msg.mine .v32-msg-meta .dy24-fail-icon:after{content:'×'!important;font-size:22px!important;font-weight:400!important;line-height:1!important;margin:0!important}
.v32-msg.mine .v32-msg-line{max-width:100%!important;min-width:0!important}
.v32-msg.mine .v32-bubble{min-width:0!important;flex-shrink:1!important}
