/* ---------- 官方通知（react-toastify，NovelAI 主题） ---------- */
.nai-toasts{position:fixed;right:0;top:0;width:100%;z-index:1000;white-space:pre-wrap;pointer-events:none;
  --toastify-toast-width:350px;--toastify-color-light:#22253F;--toastify-text-color-light:#FFFFFF;
  --toastify-color-progress-error:#FF7878;--toastify-icon-color-error:#FF7878;
  --toastify-color-progress-warning:#F5C26B;--toastify-icon-color-warning:#F5C26B;
  --toastify-color-progress-info:#F5F3C2;--toastify-icon-color-info:#F5F3C2;
  --toastify-color-progress-success:#9BE29B;--toastify-icon-color-success:#9BE29B;
  --toastify-toast-offset:16px;--toastify-toast-top:16px;--toastify-toast-right:16px;--toastify-toast-padding:14px;
  --toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;
  --toastify-toast-shadow:0px 4px 12px rgba(0,0,0,0.1);--toastify-z-index:9999;--toastify-color-progress-bgo:0.2;
  --toastify-font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}
.Toastify__toast-container{position:absolute;z-index:var(--toastify-z-index);transform:translate3d(0,0,var(--toastify-z-index));width:fit-content;box-sizing:border-box;color:#fff;display:flex;flex-direction:column}
.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}
.Toastify__toast{--y:0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);font-size:16px;line-height:1.4;z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word;border-radius:2px;pointer-events:auto;cursor:pointer;animation-fill-mode:both;animation-duration:.75s}
.Toastify__toast--error,.Toastify__toast--warning,.Toastify__toast--info,.Toastify__toast--success{padding-left:8px}
.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}
/* Errors (HTTP 403, network, failed operations): red text and border. Warnings keep the default colours. */
.Toastify__toast--error.Toastify__toast-theme--light{color:var(--toastify-color-progress-error);box-shadow:inset 0 0 0 1px var(--toastify-color-progress-error),var(--toastify-toast-shadow)}
.Toastify__toast--error .Toastify__close-button{color:var(--toastify-color-progress-error)}
.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}
.Toastify__toast-icon svg{width:100%;height:100%}
.Toastify__toast--error .Toastify__toast-icon{color:var(--toastify-icon-color-error)}
.Toastify__toast--warning .Toastify__toast-icon{color:var(--toastify-icon-color-warning)}
.Toastify__toast--info .Toastify__toast-icon{color:var(--toastify-icon-color-info)}
.Toastify__toast--success .Toastify__toast-icon{color:var(--toastify-icon-color-success)}
.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}
.Toastify__zoom-enter{animation-name:Toastify__zoomIn}
.Toastify__close-button{position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;transition:.3s ease;z-index:1;color:#fff;opacity:.3}
.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}
.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}
.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}
.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:2px;z-index:1;opacity:.7;transform-origin:left}
.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}
.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}
.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}
.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}
.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}
.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}
.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}
.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight;animation-duration:.5s}
@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}100%{transform:scaleX(0)}}
@keyframes Toastify__zoomIn{from{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}
@keyframes Toastify__bounceInRight{from,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}from{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}
@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}
/* Phones (react-toastify ≤ 480px, as on the official mobile page): full width at the top, no gap. */
@media only screen and (max-width:480px){
  .Toastify__toast-container{width:100vw;padding:0;left:var(--safe-area-inset-left, env(safe-area-inset-left));margin:0}
  .Toastify__toast-container--top-right{top:var(--safe-area-inset-top, env(safe-area-inset-top));right:0;transform:translateX(0)}
  .Toastify__toast{width:100%;margin-bottom:0;border-radius:0}
}
