.toast-container{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border-radius:8px;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;font-size:14px;color:#000000e0;animation:toastSlideIn .2s ease-out,toastSlideOut .2s ease-in calc(var(--duration) - .2s) forwards;pointer-events:auto}.toast-icon{font-size:16px;line-height:1}.toast-success .toast-icon{color:#52c41a}.toast-error .toast-icon{color:#ff4d4f}.toast-info .toast-icon{color:#1677ff}.toast-warning .toast-icon{color:#faad14}.toast-message{line-height:1.4}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:50%;color:var(--theme-toggle-color);transition:background-color .3s,color .3s;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background-color:var(--hover-bg)}.dropdown-wrapper{position:relative;display:inline-block}.dropdown-wrapper.full-width{display:block;width:100%}.dropdown-trigger{cursor:pointer}.dropdown-menu{position:absolute;min-width:120px;background:var(--card-bg);border-radius:8px;box-shadow:var(--shadow-md);padding:4px;z-index:1050;animation:dropdownFadeIn .15s ease-out;border:1px solid var(--border-color)}.dropdown-item{padding:8px 12px;cursor:pointer;border-radius:4px;font-size:14px;color:var(--text-color);transition:background .2s;white-space:nowrap}.dropdown-item:hover{background:var(--hover-bg)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.language-switcher{display:flex;align-items:center;gap:6px;background:transparent;padding:4px 0;border-radius:20px}.lang-icon{font-size:16px;color:var(--primary-color);margin-right:5px;display:flex;align-items:center}.current-lang-label{font-size:14px;color:var(--primary-color);font-weight:600}.language-switcher:hover .lang-icon,.language-switcher:hover .current-lang-label{opacity:.8;transition:opacity .3s}.site-footer{width:100%;padding:20px;text-align:center;font-size:12px;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px;margin-top:auto}.site-footer .build-info{opacity:.6;font-size:11px}.modal-backdrop{position:fixed;inset:0;background-color:var(--modal-mask);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;animation:modalFadeIn .2s ease-out;overflow-y:auto}.modal-backdrop.centered{align-items:center}.modal-container{position:relative;background:var(--modal-bg);border-radius:8px;box-shadow:var(--shadow-md);max-width:calc(100vw - 32px);animation:modalZoomIn .2s ease-out;border:1px solid var(--border-color)}.modal-container.centered{margin:auto}.modal-header{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-title{margin:0;font-size:16px;font-weight:600;color:var(--text-color);text-align:center;flex:1}.modal-body{padding:24px;font-size:14px;line-height:1.6;color:var(--text-color)}.modal-footer{padding:12px 24px 24px;display:flex;justify-content:center;gap:8px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:4px 15px;height:32px;font-size:14px;font-weight:400;border-radius:6px;border:1px solid #d9d9d9;background:#fff;color:#000000e0;cursor:pointer;transition:all .2s;outline:none;font-family:inherit}.btn:hover,.btn:active{color:var(--primary-color, #faad14);border-color:var(--primary-color, #faad14)}.btn:disabled{cursor:not-allowed;opacity:.65}.btn-primary{background:var(--primary-color, #faad14);border-color:var(--primary-color, #faad14);color:#fff}.btn-primary:hover{background:#ffc53d;border-color:#ffc53d;color:#fff}.btn-text{border:none;background:transparent;padding:4px 8px}.btn-text:hover{background:#0000000a;border-color:transparent}.btn-link{border:none;background:transparent;color:var(--primary-color, #faad14);padding:4px 8px}.btn-link:hover{color:#ffc53d;border-color:transparent}.btn-large{height:40px;padding:6px 15px;font-size:16px}.btn-small{height:24px;padding:0 7px;font-size:12px}.btn-round{border-radius:32px}.btn-circle{width:32px;height:32px;padding:0;border-radius:50%}.btn-circle.btn-large{width:40px;height:40px}.btn-icon-only{padding:4px}.btn-icon{display:flex;align-items:center;font-size:14px}.btn-large .btn-icon{font-size:16px}.alert{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:8px;font-size:14px;line-height:1.6}.alert-info{background:#e6f4ff;border:1px solid #91caff;color:#1677ff}.alert-success{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a}.alert-warning{background:#fffbe6;border:1px solid #ffe58f;color:#faad14}.alert-error{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f}.alert-icon{font-size:14px;line-height:1.6}.alert-message{flex:1;color:#000000e0}
