.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:130;background:var(--ink);color:#111;opacity:0;pointer-events:none;border-radius:12px;max-width:calc(100vw - 40px);padding:12px 16px;font-size:14px;font-weight:600;transition:opacity .3s,transform .3s;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}
.sheet{height:var(--sheet-max);z-index:100;visibility:hidden;transition:transform .55s var(--ease), visibility 0s .55s;background:#111;border-radius:18px 18px 0 0;flex-direction:column;display:flex;position:fixed;inset:auto 0 0;transform:translateY(102%)}.sheet.open{visibility:visible;transition:transform .55s var(--ease), visibility 0s;transform:none}.sheet-head{padding:12px var(--gutter) 0;align-items:center;gap:12px;display:flex}.sheet:before{content:"";opacity:0;height:100vh;transition:opacity .55s var(--ease);background:#0009;position:absolute;bottom:100%;left:0;right:0}.sheet.open:before{opacity:1}@media (min-width:640px){.sheet{border-radius:0;height:auto;top:0}.sheet:before{display:none}.sheet-head{padding-top:max(12px, env(safe-area-inset-top))}}.sheet-title{flex:1;font-size:15px;font-weight:600}.sheet-close{border:1px solid var(--rule);border-radius:50%;width:42px;height:42px;font-size:22px;line-height:1}.sheet-body{-webkit-overflow-scrolling:touch;padding:26px var(--gutter) 30px;flex:1;overflow-y:auto}.sheet-foot{padding:12px var(--gutter);padding-bottom:max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--rule);gap:10px;display:flex}.sheet-foot .btn-primary{flex:1}
