.toast-container{bottom:max(30px,var(--toast-lift,0px));z-index:calc(var(--z-modal) + 1);pointer-events:none;transition:bottom var(--f-fade)var(--ease-quint);flex-direction:column-reverse;gap:10px;display:flex;position:fixed;right:24px}.mobile-toast-layer,.mobile-action-layer,.mobile-note-layer{display:none}@media (max-width:768px){.mobile-toast-layer,.mobile-action-layer,.mobile-note-layer{display:flex}.mobile-note-layer{top:calc(8px + env(safe-area-inset-top,0px));z-index:calc(var(--z-modal) + 3);pointer-events:none;flex-direction:column;align-items:center;gap:8px;position:fixed;left:12px;right:12px}.mobile-note{all:unset;box-sizing:border-box;pointer-events:auto;border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface-2)92%,transparent);border:1px solid var(--line-2);max-width:100%;min-height:44px;box-shadow:0 12px 32px #00000073,var(--hairline-top);-webkit-backdrop-filter:var(--blur-lg);backdrop-filter:var(--blur-lg);color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:mobileNoteIn var(--f-move)var(--ease-quint)both;align-items:center;gap:10px;padding:10px 16px 10px 12px;display:flex}.mobile-note:active{transform:scale(.98)}.mobile-note-icon{flex:none;display:flex}.mobile-note.is-error .mobile-note-icon{color:var(--danger)}.mobile-note.is-success .mobile-note-icon{color:var(--success)}.mobile-note.is-info .mobile-note-icon{color:var(--blue)}.mobile-note-text{flex-direction:column;gap:2px;min-width:0;display:flex}.mobile-note-title{font-size:var(--fs-4);color:var(--ink);font-weight:600;line-height:1.3}.mobile-note-detail{font-size:var(--fs-3);color:var(--ink-dim);line-height:1.35}@keyframes mobileNoteIn{0%{opacity:0;transform:translateY(-14px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mobile-note{animation-duration:var(--f-tap)}}}.toast{pointer-events:auto;border-radius:var(--r-md);background:var(--glass-bg);border:1px solid var(--line-soft);min-width:280px;max-width:400px;color:var(--ink);font-size:var(--fs-4);box-shadow:var(--elev-2);-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md);align-items:flex-start;gap:10px;padding:12px 16px;font-weight:500;display:flex}.toast-x{all:unset;border-radius:var(--r-xs);width:20px;height:20px;color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--f-tap)var(--ease),background var(--f-tap)var(--ease),color var(--f-tap)var(--ease);flex:none;place-items:center;margin:-1px -6px 0 auto;display:grid}.toast:hover .toast-x,.toast-x:focus-visible{opacity:1}.toast-x:hover{background:var(--wa-2);color:var(--ink)}@media (hover:none){.toast-x{opacity:1}}.toast-progress-header-left{margin-right:auto}.toast-put-away{all:unset;border-radius:var(--r-xs);width:20px;height:20px;color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--f-tap)var(--ease),background var(--f-tap)var(--ease),color var(--f-tap)var(--ease);flex:none;place-items:center;margin:-2px -6px -2px -2px;display:grid}.toast:hover .toast-put-away,.toast-put-away:focus-visible{opacity:1}.toast-put-away:hover{background:var(--wa-2);color:var(--ink)}@media (hover:none){.toast-put-away{opacity:1}}.toast-count{font-size:var(--fs-2);font-variant-numeric:tabular-nums;color:var(--ink-dim);margin-left:6px;font-weight:600}.toast-icon{flex-shrink:0;align-items:center;margin-top:1px;display:flex}.toast-error .toast-icon{color:var(--danger)}.toast-success .toast-icon{color:var(--success)}.toast-info .toast-icon{color:var(--blue)}.toast-text{flex-direction:column;gap:2px;min-width:0;display:flex}.toast-title{font-size:var(--fs-4);color:var(--ink);font-weight:500;line-height:1.4}.toast-detail{font-size:var(--fs-2);color:#ffffff73;line-height:1.4}.toast-close{color:var(--muted);font-size:var(--fs-5);cursor:pointer;opacity:.7;transition:opacity var(--f-tap);background:0 0;border:none;padding:0;line-height:1}.toast-close:hover{opacity:1}.toast-progress{transition:border-color var(--f-move)ease,box-shadow var(--f-move)ease;flex-direction:column;align-items:stretch;padding:0}.toast-collapsed{min-width:200px}.toast-collapsed .toast-progress-content{padding:8px 12px}.toast-collapse-hint{font-size:var(--fs-1);color:#fff3;transition:color var(--f-tap)ease,transform var(--f-tap)ease;-webkit-user-select:none;user-select:none;flex-shrink:0;line-height:1}.toast-progress:hover .toast-collapse-hint{color:#ffffff73}.toast-progress-done{box-shadow:0 8px 24px #0006,0 0 0 1px #4ade8014}.toast-progress-failed{box-shadow:0 8px 24px #0006,0 0 0 1px #ef444414}.toast-progress-failed .toast-progress-title,.toast-progress-failed .toast-progress-step{color:var(--danger-ink)}.toast-fail-icon{color:var(--danger);flex-shrink:0}.toast-row-fail-icon{color:#ff6b6b;flex-shrink:0}.toast-progress-content{flex-direction:column;gap:4px;padding:12px 16px 10px;display:flex}.toast-progress-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.toast-progress-header-left{align-items:center;gap:8px;min-width:0;display:flex}.toast-progress-thumb{border-radius:var(--r-sm);object-fit:cover;border:1px solid var(--line-1);flex-shrink:0;width:28px;height:28px}.toast-progress-title{font-size:var(--fs-4);color:var(--ink);font-weight:600}.toast-progress-spinner{border:1.5px solid var(--line-2);border-top-color:var(--blue);opacity:1;width:13px;height:13px;transition:opacity var(--f-fade)ease;border-radius:50%;flex-shrink:0;animation:.8s linear infinite spin}.toast-progress-done .toast-progress-spinner{opacity:0;width:0;transition:opacity var(--f-tap)ease,width var(--f-tap)ease;border:0;margin:0;padding:0;animation:none;overflow:hidden}.toast-progress-check{font-size:var(--fs-4);color:var(--success);animation:toast-check-pop var(--f-move)cubic-bezier(.2,.8,.2,1);font-weight:700}@keyframes toast-check-pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.toast-grouped{min-width:320px;max-width:380px}.toast-grouped-rows{scrollbar-width:thin;scrollbar-color:#ffffff1a transparent;flex-direction:column;gap:8px;max-height:220px;margin-top:2px;display:flex;overflow-y:auto}.toast-grouped-rows::-webkit-scrollbar{width:4px}.toast-grouped-rows::-webkit-scrollbar-track{background:0 0}.toast-grouped-rows::-webkit-scrollbar-thumb{background:var(--wa-4);border-radius:var(--r-xs)}.toast-progress-row{transition:opacity var(--f-move)ease;animation:toast-row-in var(--f-fade)ease-out;padding:4px 0}@keyframes toast-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toast-progress-row.is-done{opacity:.4;transition:opacity var(--f-move)ease}.toast-progress-row.is-failed{opacity:1}.toast-progress-row.is-failed .toast-progress-row-step{color:var(--danger-ink)}.toast-progress-row-task{font-size:var(--fs-1);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:1px;line-height:1.3;display:block;overflow:hidden}.toast-progress-row.is-failed .step-label-fade{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.toast-progress-row.is-exiting{animation:toast-row-out var(--f-move)ease forwards;overflow:hidden}@keyframes toast-row-out{0%{opacity:.4;max-height:40px;margin-bottom:0}to{opacity:0;max-height:0;margin-bottom:-8px;padding:0}}.toast-progress-row-header{align-items:center;gap:6px;margin-bottom:3px;display:flex}.toast-progress-row-step{font-size:var(--fs-2);color:var(--muted);transition:color var(--f-fade);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.toast-progress-row.is-done .toast-progress-row-step{color:#4ade8080}.toast-model-pill{font-size:var(--fs-1);color:#ffffff8c;background:var(--wa-3);border-radius:var(--r-sm);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;padding:1px 7px;font-weight:600;overflow:hidden}.toast-progress-done .toast-model-pill,.toast-progress-row.is-done .toast-model-pill{color:#4ade8080;background:#4ade8014}.toast-step-text{color:var(--muted);font-size:var(--fs-2);white-space:nowrap;flex-shrink:0}.toast-progress-fail-detail{font-size:var(--fs-1);color:#ffffff73;line-height:1.4}.toast-progress-step{font-size:var(--fs-2);color:var(--muted);min-height:16px;transition:color var(--f-fade);align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.toast-progress-elapsed{font-size:var(--fs-1);color:#ffffff40;font-weight:500;font-family:var(--font-data);font-variant-numeric:tabular-nums;margin-left:4px}.toast-progress-done .toast-progress-step{color:var(--success)}.toast-progress-done .toast-progress-elapsed{color:#4ade8080}.step-label-fade{min-width:0;animation:stepFadeIn var(--f-tap)ease-out;flex:1;align-items:center;gap:6px;display:flex}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.toast-bar-wrapper{flex-direction:column;gap:4px;margin-top:2px;display:flex}.toast-bar-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.toast-bar-pct{font-size:var(--fs-2);color:#ffffffb3;font-weight:700;font-family:var(--font-data);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.toast-progress-done .toast-bar-pct{color:var(--success)}.toast-bar-remaining{font-size:var(--fs-1);color:#ffffff59;font-weight:500;font-family:var(--font-data);font-variant-numeric:tabular-nums;transition:opacity var(--f-fade)ease}.toast-progress-bar-track{background:var(--wa-2);border-radius:var(--r-xs);height:3px;position:relative;overflow:hidden}.toast-progress-bar-track.is-sending:after{content:"";background:linear-gradient(90deg,transparent 0%,var(--wa-2)40%,var(--wa-4)50%,var(--wa-2)60%,transparent 100%);animation:1.8s ease-in-out infinite toast-shimmer;position:absolute;inset:0}@keyframes toast-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.toast-progress-bar-fill{background:var(--blue);transform-origin:0;width:100%;height:100%;position:relative}.toast-progress-bar-fill.done{background:var(--success);transition:background var(--f-move)var(--ease);animation:toast-bar-done-pulse var(--f-scene)ease-out}@keyframes toast-bar-done-pulse{0%{box-shadow:0 0 #4ade8066}50%{box-shadow:0 0 6px 2px #4ade804d}to{box-shadow:none}}.toast-undo{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative;overflow:hidden}.toast-undo-btn{all:unset;font-size:var(--fs-3);color:var(--ink);cursor:pointer;border-radius:var(--r-xs);transition:background var(--f-tap)ease;margin-left:auto;padding:2px 8px;font-weight:700}.toast-undo-btn:hover{background:var(--wa-2)}.toast-undo-bar{background:var(--wa-2);height:2px;position:absolute;bottom:0;left:0;right:0}.toast-undo-bar-fill{background:var(--ink-faint);border-radius:var(--r-xs);transform-origin:0;width:100%;height:100%;animation:linear forwards undoCountdown}@keyframes undoCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-undo.is-paused .toast-undo-bar-fill{animation-play-state:paused}.toast-undo-text{flex-direction:column;gap:1px;min-width:0;display:flex}.toast-undo-detail{font-size:var(--fs-2);color:#ffffff80;animation:toast-detail-in var(--f-fade)var(--ease)both}@keyframes toast-detail-in{0%{opacity:0}}.toast-undo-btn.is-close{align-items:center;margin-left:0;padding:4px;display:inline-flex}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast-exiting{animation:toast-slide-out var(--f-move)var(--ease-exit)forwards;pointer-events:none}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(12px)scale(.96)}}.toast-done-action{color:var(--blue,#4f8dfd);text-underline-offset:2px;cursor:pointer;margin-left:8px;font-weight:500;text-decoration:underline}.toast-done-action:hover{color:var(--ink,#eee)}.toast-done-action:focus-visible{border-radius:var(--r-xs)}.toast-undo-btn.is-alt{color:#ffffffb8;font-weight:600}.toast-undo-btn.is-alt:hover{background:var(--wa-4);color:var(--ink)}.toast-undo-btn.is-alt+.toast-undo-btn{margin-left:2px}.toast-row-stop{border-radius:var(--r-xs);color:#ffffff80;font:500 var(--fs-1)var(--font-ui);letter-spacing:.01em;cursor:pointer;transition:background-color var(--f-tap)ease,color var(--f-tap)ease;background:0 0;border:0;flex:none;margin-left:auto;padding:1px 6px}.toast-row-stop:hover{background:var(--wa-3);color:var(--ink)}.toast-progress-header .toast-row-stop{margin-left:6px}
