.tc-dialog-backdrop{z-index:2000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tc-dialog{background:var(--bg-card,#1a1c25);width:100%;max-width:460px;max-height:calc(100vh - 32px);color:var(--text,#c9cdd5);border:1px solid var(--border,#2e303a);border-radius:calc(var(--radius,8px) * 1.5);padding:20px;overflow:auto;box-shadow:0 20px 50px #00000080}.tc-dialog--danger{border-top:4px solid var(--red,#ef4444)}.tc-dialog__title{color:var(--text-h,#f0f2f5);margin:0 0 8px;font-size:18px;line-height:1.3}.tc-dialog--danger .tc-dialog__title{color:var(--red,#ef4444)}.tc-dialog__body{overflow-wrap:anywhere;font-size:14px;line-height:1.5}.tc-dialog__body p+p{margin-top:6px}.tc-dialog__details{background:var(--bg-input,#252730);border:1px solid var(--border,#2e303a);border-radius:var(--radius,8px);max-height:200px;margin-top:12px;padding:8px 12px;font-size:13px;line-height:1.5;overflow:auto}.tc-dialog__details ul{margin:0;padding-left:18px}.tc-dialog__details dl{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;display:grid}.tc-dialog__details dt{color:var(--text-dim,#9ca3af)}.tc-dialog__details dd{color:var(--text-h,#f0f2f5);overflow-wrap:anywhere;margin:0}.tc-dialog__field{margin-top:14px;font-size:13px;display:block}.tc-dialog__field code{color:var(--text-h,#f0f2f5);font-weight:700}.tc-dialog__field input{width:100%;color:var(--text-h,#f0f2f5);background:var(--bg-input,#252730);border:1px solid var(--border,#2e303a);border-radius:var(--radius,8px);margin-top:6px;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:16px;display:block}.tc-dialog__field input:focus-visible{outline:2px solid var(--accent,#3b82f6);outline-offset:1px}.tc-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.tc-btn{cursor:pointer;min-height:44px;color:var(--text-h,#f0f2f5);background:var(--bg-input,#252730);border:1px solid var(--border,#2e303a);border-radius:var(--radius,8px);padding:8px 16px;font-size:14px;font-weight:600}.tc-btn:hover:not(:disabled){border-color:var(--text-dim,#6b7280)}.tc-btn:focus-visible{outline:2px solid var(--accent,#3b82f6);outline-offset:2px}.tc-btn:disabled{opacity:.5;cursor:not-allowed}.tc-btn--primary{color:#fff;background:var(--accent-hover,#2563eb);border-color:var(--accent-hover,#2563eb)}.tc-btn--danger{color:#fff;background:#c81e1e;border-color:#c81e1e}.tc-btn--danger:hover:not(:disabled){background:#a51818;border-color:#a51818}@media (width<=480px){.tc-dialog-backdrop{align-items:flex-end;padding:0}.tc-dialog{border-radius:14px 14px 0 0;max-width:none;max-height:90vh;padding:18px 16px 20px}.tc-dialog__actions{flex-direction:column-reverse}.tc-dialog__actions .tc-btn{width:100%}}.tc-toasts{z-index:2100;pointer-events:none;flex-direction:column;gap:8px;width:min(480px,100vw - 32px);display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.tc-toasts__region{flex-direction:column;gap:8px;display:flex}.tc-toast{pointer-events:auto;color:var(--text-h,#f0f2f5);background:var(--bg-card,#1a1c25);border:1px solid var(--border,#2e303a);border-left:4px solid var(--accent,#3b82f6);border-radius:var(--radius,8px);align-items:center;gap:10px;padding:10px 10px 10px 14px;font-size:14px;line-height:1.4;animation:.18s ease-out tc-toast-in;display:flex;box-shadow:0 8px 24px #00000073}.tc-toast--success{border-left-color:var(--green,#22c55e)}.tc-toast--error{border-left-color:var(--red,#ef4444)}.tc-toast__msg{overflow-wrap:anywhere;white-space:pre-line;flex:1;min-width:0}.tc-toast__action{cursor:pointer;min-height:36px;color:var(--text-h,#f0f2f5);border:1px solid var(--accent,#3b82f6);background:0 0;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:700}.tc-toast__close{cursor:pointer;min-width:36px;min-height:36px;color:var(--text-dim,#9ca3af);background:0 0;border:none;border-radius:6px;font-size:16px}.tc-toast__action:focus-visible,.tc-toast__close:focus-visible{outline:2px solid var(--accent,#3b82f6);outline-offset:1px}.tc-toast__close:hover{color:var(--text-h,#f0f2f5)}@keyframes tc-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tc-toast{animation:none}}
