.bk-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:100000;opacity:0;transition:opacity .18s ease}.bk-modal-overlay.is-open{opacity:1}.bk-modal{width:min(440px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--bg-card,#ffffff);color:var(--text-main,#1a1a1a);border:1px solid var(--border-color,#e0e0e0);border-radius:var(--radius-md,12px);box-shadow:0 20px 50px rgba(0,0,0,.25);transform:translateY(8px) scale(.98);transition:transform .18s ease,opacity .18s ease;opacity:0;outline:none;font-family:inherit}.bk-modal-overlay.is-open .bk-modal{transform:translateY(0) scale(1);opacity:1}.bk-modal__head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 8px}.bk-modal__icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1}.bk-modal__icon--info{background:rgba(59,130,246,.12);color:#3b82f6}.bk-modal__icon--success{background:rgba(34,197,94,.14);color:#16a34a}.bk-modal__icon--warn{background:rgba(245,158,11,.15);color:#d97706}.bk-modal__icon--danger{background:rgba(239,68,68,.14);color:#dc2626}.bk-modal__title{margin:0;font-size:1.05rem;font-weight:700;line-height:1.3;color:var(--text-main,#1a1a1a);flex:1 1 auto}.bk-modal__close{appearance:none;background:transparent;border:0;padding:4px;cursor:pointer;color:var(--text-muted,#666);font-size:22px;line-height:1;border-radius:6px;transition:background .15s ease,color .15s ease}.bk-modal__close:hover{background:rgba(0,0,0,.05);color:var(--text-main,#1a1a1a)}.bk-modal__body{padding:0 20px 8px;font-size:.95rem;line-height:1.55;color:var(--text-muted,#666);white-space:pre-line}.bk-modal__body strong,.bk-modal__body b{color:var(--text-main,#1a1a1a)}.bk-modal__foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:12px 20px 18px}.bk-modal__btn{appearance:none;border:1px solid transparent;background:var(--bg-card,#fff);color:var(--text-main,#1a1a1a);padding:9px 16px;font-size:.9rem;font-weight:600;line-height:1;border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .05s ease;min-width:88px}.bk-modal__btn:active{transform:translateY(1px)}.bk-modal__btn--secondary{background:transparent;border-color:var(--border-color,#e0e0e0);color:var(--text-main,#1a1a1a)}.bk-modal__btn--secondary:hover{background:rgba(0,0,0,.04)}.bk-modal__btn--primary{background:var(--color-primary,#fdc500);border-color:var(--color-primary,#fdc500);color:#111827}.bk-modal__btn--primary:hover{background:var(--color-primary-hover,#e0b000);border-color:var(--color-primary-hover,#e0b000)}.bk-modal__btn--danger{background:#dc2626;border-color:#dc2626;color:#fff}.bk-modal__btn--danger:hover{background:#b91c1c;border-color:#b91c1c}.bk-modal__btn:focus-visible{outline:2px solid var(--color-primary,#fdc500);outline-offset:2px}body.bk-modal-open{overflow:hidden}@media (max-width:480px){.bk-modal__foot{flex-direction:column-reverse}.bk-modal__btn{width:100%}}.bk-toast-host{position:fixed;z-index:99000;display:flex;flex-direction:column;gap:10px;padding:16px;max-width:420px;width:calc(100% - 32px);pointer-events:none}.bk-toast-host--top-right{top:0;right:0;align-items:flex-end}.bk-toast-host--top-left{top:0;left:0;align-items:flex-start}.bk-toast-host--top-center{top:0;left:50%;transform:translateX(-50%);align-items:center}.bk-toast-host--bottom-right{bottom:0;right:0;align-items:flex-end;flex-direction:column-reverse}.bk-toast-host--bottom-left{bottom:0;left:0;align-items:flex-start;flex-direction:column-reverse}.bk-toast-host--bottom-center{bottom:0;left:50%;transform:translateX(-50%);align-items:center;flex-direction:column-reverse}.bk-toast{position:relative;pointer-events:auto;display:flex;align-items:flex-start;gap:10px;width:100%;max-width:420px;padding:12px 36px 12px 14px;background:var(--bg-card,#ffffff);color:var(--text-main,#1a1a1a);border:1px solid var(--border-color,#e0e0e0);border-left-width:4px;border-radius:var(--radius-md,12px);box-shadow:0 10px 28px rgba(15,23,42,.12),0 2px 6px rgba(15,23,42,.06);overflow:hidden;transform:translateX(18px);opacity:0;transition:transform .22s ease,opacity .22s ease}.bk-toast.is-in{transform:translateX(0);opacity:1}.bk-toast--out{transform:translateX(18px);opacity:0}.bk-toast-host--top-left .bk-toast,.bk-toast-host--bottom-left .bk-toast{transform:translateX(-18px)}.bk-toast-host--top-left .bk-toast.is-in,.bk-toast-host--bottom-left .bk-toast.is-in{transform:translateX(0)}.bk-toast-host--top-center .bk-toast,.bk-toast-host--bottom-center .bk-toast{transform:translateY(-12px)}.bk-toast-host--top-center .bk-toast.is-in,.bk-toast-host--bottom-center .bk-toast.is-in{transform:translateY(0)}.bk-toast-host--bottom-center .bk-toast,.bk-toast-host--bottom-right .bk-toast,.bk-toast-host--bottom-left .bk-toast{transform:translateY(12px)}.bk-toast-host--bottom-center .bk-toast.is-in,.bk-toast-host--bottom-right .bk-toast.is-in,.bk-toast-host--bottom-left .bk-toast.is-in{transform:translateY(0)}.bk-toast--info{border-left-color:#3b82f6}.bk-toast--success{border-left-color:#16a34a}.bk-toast--warn{border-left-color:#d97706}.bk-toast--danger{border-left-color:#dc2626}.bk-toast__icon{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;margin-top:2px}.bk-toast--info .bk-toast__icon{background:rgba(59,130,246,.12);color:#3b82f6}.bk-toast--success .bk-toast__icon{background:rgba(22,163,74,.14);color:#16a34a}.bk-toast--warn .bk-toast__icon{background:rgba(217,119,6,.15);color:#d97706}.bk-toast--danger .bk-toast__icon{background:rgba(220,38,38,.14);color:#dc2626}.bk-toast__body{flex:1 1 auto;min-width:0}.bk-toast__title{margin:0 0 2px 0;font-size:.9rem;font-weight:700;color:var(--text-main,#1a1a1a);line-height:1.25}.bk-toast__msg{margin:0;font-size:.85rem;line-height:1.45;color:var(--text-muted,#555);word-break:break-word}.bk-toast__close{position:absolute;top:6px;right:8px;appearance:none;background:transparent;border:0;padding:4px;cursor:pointer;font-size:18px;line-height:1;color:var(--text-muted,#666);border-radius:6px;transition:background .15s ease,color .15s ease}.bk-toast__close:hover{background:rgba(0,0,0,.05);color:var(--text-main,#1a1a1a)}.bk-toast__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;overflow:hidden}.bk-toast__bar span{display:block;height:100%;width:100%;background:currentColor;opacity:.6;transform-origin:left center;animation-name:bk-toast-bar;animation-timing-function:linear;animation-fill-mode:forwards}.bk-toast--info .bk-toast__bar span{color:#3b82f6}.bk-toast--success .bk-toast__bar span{color:#16a34a}.bk-toast--warn .bk-toast__bar span{color:#d97706}.bk-toast--danger .bk-toast__bar span{color:#dc2626}@keyframes bk-toast-bar{from{transform:scaleX(1)}to{transform:scaleX(0)}}body.dark-mode .bk-toast{background:var(--bg-card,#1f2937);color:var(--text-main,#f3f4f6);border-color:var(--border-color,#374151);box-shadow:0 10px 28px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.25)}body.dark-mode .bk-toast__title{color:var(--text-main,#f3f4f6)}body.dark-mode .bk-toast__msg{color:var(--text-muted,#d1d5db)}body.dark-mode .bk-toast__close{color:var(--text-muted,#9ca3af)}body.dark-mode .bk-toast__close:hover{background:rgba(255,255,255,.08);color:var(--text-main,#f3f4f6)}body.dark-mode .bk-toast--info .bk-toast__icon{background:rgba(59,130,246,.22);color:#93c5fd}body.dark-mode .bk-toast--success .bk-toast__icon{background:rgba(22,163,74,.24);color:#86efac}body.dark-mode .bk-toast--warn .bk-toast__icon{background:rgba(217,119,6,.24);color:#fcd34d}body.dark-mode .bk-toast--danger .bk-toast__icon{background:rgba(220,38,38,.24);color:#fca5a5}@media (max-width:640px){.bk-toast-host{max-width:none;width:100%;padding:10px;left:0 !important;right:0 !important;transform:none !important;align-items:stretch !important}.bk-toast{max-width:none}}@media (prefers-reduced-motion:reduce){.bk-toast{transition:opacity .08s linear;transform:none !important}.bk-toast.is-in{transform:none !important}.bk-toast__bar span{animation:none;width:0}}