.toast-container{position:fixed;top:max(env(safe-area-inset-top,0px),12px);right:clamp(8px,2vw,16px);left:clamp(8px,2vw,16px);z-index:99999;display:flex;flex-direction:column;gap:clamp(6px,1.5vw,10px);max-width:400px;margin:0 auto;pointer-events:none}.toast{display:flex;align-items:center;gap:clamp(8px,2vw,12px);padding:clamp(10px,2.5vw,14px) clamp(10px,2.5vw,14px);border-radius:clamp(6px,1.8vw,10px);box-shadow:0 4px 12px #00000026;cursor:pointer;animation:toastSlideIn .3s ease-out;font-size:clamp(11px,3.2vw,14px);line-height:1.4;pointer-events:auto;background:#fff;border:1px solid transparent}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-icon{width:clamp(20px,5vw,24px);height:clamp(20px,5vw,24px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(10px,2.8vw,12px);font-weight:700;flex-shrink:0}.toast-success{background:#dcfce7;border-color:#22c55e;color:#166534}.toast-success .toast-icon{background:#22c55e;color:#fff}.toast-error{background:#fef2f2;border-color:#ef4444;color:#991b1b}.toast-error .toast-icon{background:#ef4444;color:#fff}.toast-warning{background:#fefce8;border-color:#eab308;color:#854d0e}.toast-warning .toast-icon{background:#eab308;color:#fff}.toast-info{background:#eff6ff;border-color:#3b82f6;color:#1e40af}.toast-info .toast-icon{background:#3b82f6;color:#fff}.toast-message{flex:1;word-wrap:break-word;word-break:break-word}.toast-close{background:none;border:none;font-size:clamp(14px,4vw,18px);cursor:pointer;opacity:.6;padding:clamp(4px,1vw,6px);margin:0;line-height:1;color:inherit;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.toast-close:hover{opacity:1}@media(max-width:375px){.toast-container{top:8px;left:8px;right:8px;gap:6px}.toast{padding:8px 10px}.toast-message{font-size:11px}}@media(max-height:500px)and (orientation:landscape){.toast-container{top:8px;max-width:300px}}@media(prefers-color-scheme:dark){.toast{background:#2a2a2a;color:#fff}.toast-success{background:#22c55e33;border-color:#22c55e;color:#86efac}.toast-error{background:#ef444433;border-color:#ef4444;color:#fca5a5}.toast-warning{background:#eab30833;border-color:#eab308;color:#fde047}.toast-info{background:#3b82f633;border-color:#3b82f6;color:#93c5fd}}@media(prefers-reduced-motion:reduce){.toast{animation:none}.toast-close{transition:none}}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:clamp(160px,40vh,200px);padding:clamp(16px,4vw,24px)}.error-boundary-content{text-align:center;max-width:clamp(280px,85vw,400px)}.error-boundary-content h2{margin:0 0 clamp(8px,2vw,14px);font-size:clamp(16px,4.5vw,22px);font-weight:700;color:#333}.error-boundary-content p{margin:0 0 clamp(14px,3.5vh,20px);color:#666;font-size:clamp(11px,3.2vw,14px);line-height:1.5}.error-boundary-button{padding:clamp(10px,2.5vw,14px) clamp(16px,4vw,24px);background:#223fbb;color:#fff;border:none;border-radius:clamp(6px,1.8vw,10px);font-size:clamp(11px,3.2vw,14px);font-weight:600;cursor:pointer;transition:background .2s ease;min-height:44px;-webkit-tap-highlight-color:transparent}.error-boundary-button:hover{background:#1a35a8}.error-boundary-button:active{transform:scale(.98)}@media(max-width:375px){.error-boundary{padding:clamp(12px,3.5vw,16px)}.error-boundary-content h2{font-size:15px}.error-boundary-content p{font-size:11px}.error-boundary-button{font-size:11px;padding:10px 16px}}@media(prefers-color-scheme:dark){.error-boundary-content h2{color:#fff}.error-boundary-content p{color:#aaa}.error-boundary-button{background:#3b5bdb}.error-boundary-button:hover{background:#2f4ab8}}@media(prefers-reduced-motion:reduce){.error-boundary-button{transition:none}.error-boundary-button:active{transform:none}}
