.notification{position:fixed;top:20px;right:20px;background:var(--bg-primary);border:2px solid var(--border-default);border-radius:var(--radius-lg);padding:18px var(--space-6);box-shadow:var(--shadow-xl);z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-4);min-width:300px;max-width:500px;width:20vw;opacity:0;transform:translateX(100%);transition:all var(--duration-normal) var(--ease-default);font-family:var(--font-sans);border-left:4px solid var(--status-success);user-select:none;touch-action:none}.notification.show{opacity:1;transform:translateX(0)}.notification.dragging{transition:none;box-shadow:0 8px 32px rgba(0,0,0,.2)}.notification.dismissing{transition:all var(--duration-slow) var(--ease-default);pointer-events:none}.notification.dismiss-ready{border-left-color:var(--status-error)}.notification.success{border-left-color:var(--status-success)}.notification.error{border-left-color:var(--status-error)}.notification.warning{border-left-color:var(--status-warning)}.notification-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--text-inverse);flex-shrink:0;position:relative}.notification-svg-icon{width:100%;height:100%;display:block;color:inherit}.notification.success .notification-icon{background:var(--status-success);box-shadow:0 2px 8px color-mix(in srgb,var(--status-success) 30%,transparent)}.notification.error .notification-icon{background:var(--status-error);box-shadow:0 2px 8px color-mix(in srgb,var(--status-error) 30%,transparent)}.notification.warning .notification-icon{background:var(--status-warning);box-shadow:0 2px 8px color-mix(in srgb,var(--status-warning) 30%,transparent)}.notification-svg-icon{filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .1));transition:transform var(--duration-fast) var(--ease-default)}.notification:hover .notification-svg-icon{transform:scale(1.05)}.notification-content{flex:1}.notification-title{font-size:var(--font-base);font-weight:var(--weight-bold);color:var(--text-body);margin:0 0 var(--space-2) 0;letter-spacing:-.2px}.notification-message{font-size:var(--font-sm);color:var(--text-muted);margin:0;line-height:1.4}.notification-message strong{font-weight:var(--weight-semibold);color:var(--text-body);display:inline-block}.notification-close{position:absolute;top:-10px;left:-10px;background:var(--bg-tertiary);color:var(--text-muted);font-size:14px;cursor:pointer;padding:0;border-radius:50%;transition:all var(--duration-fast) var(--ease-default);width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);z-index:var(--z-toast);box-shadow:0 2px 8px rgba(0,0,0,.15);user-select:none;touch-action:manipulation}.notification:hover .notification-close{opacity:1;transform:scale(1)}.notification-close:hover{filter:brightness(.85);color:var(--text-body);box-shadow:0 4px 12px rgba(0,0,0,.2)}@media (max-width:768px){.notification{top:calc(var(--top-content-inset) + 10px);right:10px;max-width:none;cursor:grab}.notification-close{top:-6px;left:-6px;width:18px;height:18px;font-size:12px}.notification-icon{width:20px;height:20px}.notification.dragging{cursor:grabbing}.notification:active{transform:scale(.98)}}.confirmation-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.05);z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.choice-modal,.confirmation-modal,.info-modal{background:var(--bg-primary);padding:2rem 2rem 1.5rem;border-radius:1.5rem;box-shadow:var(--shadow-xl);width:90%;max-width:400px;z-index:var(--z-toast);border:1px solid var(--border-default);text-align:center;transform:scale(.95);transition:transform var(--duration-fast) var(--ease-default)}.confirmation-overlay.show{opacity:1}.confirmation-overlay.show .confirmation-modal{transform:scale(1)}.choice-modal h4,.confirmation-modal h4,.info-modal h4{text-align:left;font-size:var(--font-xl);font-weight:var(--weight-semibold);color:var(--text-body);margin-top:0;margin-bottom:var(--space-4)}.confirmation-modal h4 strong{color:var(--danger-color);font-weight:var(--weight-bold);font-size:1.05em}.choice-modal p,.confirmation-modal p,.info-modal p{text-align:left;font-size:var(--font-base);color:var(--text-muted);line-height:1.5;margin-bottom:var(--space-6)}.confirmation-message-left{display:block;text-align:left;margin:var(--space-2) 0;color:var(--text-muted);line-height:1.5}.confirmation-message-center{display:block;text-align:center;margin:var(--space-2) 0;color:var(--text-muted);line-height:1.5}.confirmation-message-strong{font-weight:var(--weight-semibold)}.confirmation-buttons{display:flex;justify-content:flex-end;gap:var(--space-2)}.choice-modal-btn,.confirmation-buttons .confirmation-btn,.info-modal-btn{padding:var(--btn-padding-md);border-radius:var(--radius-full);font-size:var(--font-lg);font-weight:var(--weight-semibold);min-width:100px;width:fit-content;cursor:pointer}.confirmation-btn-content{display:inline-flex;align-items:center;gap:.5rem}.info-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.2);z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.info-modal-overlay.show{opacity:1}.info-modal-overlay.show .info-modal{transform:scale(1)}.info-modal-buttons{display:flex;justify-content:center;gap:var(--space-4)}.settings-card-button.info-modal-btn{width:180px}.toast-notification{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-100%);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:14px;padding:16px 28px;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08);z-index:var(--z-toast);font-family:var(--font-sans);font-size:var(--font-base);font-weight:var(--weight-medium);color:var(--text-body);text-align:center;white-space:nowrap;opacity:0;transition:all var(--duration-normal) var(--ease-default);pointer-events:none;user-select:none;max-width:calc(100vw - 40px);overflow:hidden;text-overflow:ellipsis}.toast-notification.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}.toast-notification.toast-bottom{top:auto;bottom:20px;transform:translateX(-50%) translateY(100%)}.toast-notification.toast-bottom.show{transform:translateX(-50%) translateY(0)}@media (max-width:768px){.toast-notification{top:calc(var(--top-content-inset,0px) + 16px);padding:14px 24px;font-size:var(--font-sm);border-radius:12px;max-width:calc(100vw - 32px);z-index:var(--z-toast)}.toast-notification.toast-bottom{top:auto;bottom:max(var(--floating-tab-bar-clearance),20px)}.confirmation-overlay{height:100%}.confirmation-modal{transform:translateY(-20%)}.info-modal-overlay{height:100%}.info-modal{transform:translateY(-20%)}.choice-modal-overlay{height:100%}.choice-modal{transform:translateY(-20%)}}.choice-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.6);z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.choice-modal-overlay.show{opacity:1}.choice-modal-overlay.show .choice-modal{transform:scale(1)}.choice-modal-buttons{display:flex;flex-direction:column;gap:var(--space-3)}.choice-modal-choice-btn{background-color:var(--bg-tertiary);color:var(--text-body);border:1px solid var(--border-default);transition:all var(--duration-fast) var(--ease-default)}.choice-modal-choice-btn:hover{filter:brightness(.85);border-color:var(--border-default)}.choice-modal-choice-btn:active{transform:scale(.98)}.choice-modal-cancel-btn{margin-top:var(--space-2)}.choice-modal-btn-content{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.choice-modal-btn-content i{font-size:1rem;opacity:.8}