.ui-button{padding:.5rem 1rem;border-radius:.5rem;font-weight:500;transition:background-color .2s,color .2s;border:none}.ui-button.primary{background-color:var(--color-primary);color:#fff}.ui-button.success{background-color:var(--color-success);color:#fff}.ui-button.warning{background-color:var(--color-warning);color:#fff}.ui-button.error{background-color:var(--color-error);color:#fff}.ui-button.secondary{background:transparent;border:2px solid var(--text-color);color:var(--text-color)}.ui-button.ghost{background:none;color:var(--text-color);padding:.25rem .5rem}.toggle{all:unset;position:relative;width:64px;height:32px;max-height:32px;line-height:normal;border-radius:999px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;background-color:#f2f3f7;transition:background-color .3s ease,color .3s ease,box-shadow .2s ease}.toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f673}.toggle.light{background-color:#f2f3f7;color:#f59e0b}.toggle.inactive{background-color:#eee;justify-content:flex-start}.toggle:hover{box-shadow:0 3px 8px #0f172a40}.toggle-icon{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:16px;transition:color .3s ease,transform .3s ease,opacity .3s ease}.toggle.light .toggle-icon{right:10px;color:#f59e0b}.toggle.dark .toggle-icon{left:12px;color:#f8fafc}.toggle-thumb{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 4px 10px #00000040;transition:transform .3s ease}.toggle.dark .toggle-thumb{transform:translate(28px)}.toggle.light .toggle-thumb{transform:translate(0)}.ui-card{background:var(--bg-color);color:var(--text-color);border-radius:.75rem;padding:1rem;border:1px solid var(--text-color);transition:box-shadow .2s,border-color .2s}.ui-card.success{border-color:var(--color-success)}.ui-card.warning{border-color:var(--color-warning)}.ui-card.error{border-color:var(--color-error)}.ui-card:hover{box-shadow:0 4px 12px #00000026}.ui-progress{width:100%;background:#80808033;border-radius:.5rem;overflow:hidden;height:.75rem}.ui-progress-bar{height:100%;transition:width .3s ease}.ui-progress-bar.primary{background:var(--color-primary)}.ui-progress-bar.success{background:var(--color-success)}.ui-progress-bar.warning{background:var(--color-warning)}.ui-progress-bar.error{background:var(--color-error)}.feedback-modal{background:var(--bg-color);color:var(--text-color);border:1px solid var(--text-color);border-radius:.75rem;padding:1.25rem;box-shadow:0 4px 16px #00000040;max-width:640px;margin:1rem auto;transition:background .3s,color .3s}.feedback-modal h2{margin-bottom:.75rem;font-weight:600;color:var(--text-color)}.feedback-form textarea{width:100%;min-height:140px;border-radius:.5rem;border:1px solid var(--text-color);background:var(--bg-color);color:var(--text-color);padding:.75rem 1rem;resize:vertical;transition:background .3s,color .3s}.feedback-form textarea::placeholder{color:#80808099}.feedback-form .hint{display:flex;justify-content:space-between;font-size:.9rem;opacity:.8}.feedback-form button{background:var(--color-primary);color:#fff;border:none;border-radius:.5rem;padding:.5rem 1rem;font-weight:600;transition:background .25s}.feedback-form button:disabled{background:gray;cursor:not-allowed;opacity:.7}.feedback-form p.success{color:var(--color-success)}.feedback-form p.error{color:var(--color-error)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;color:#111;background-color:#fff}ul,ol{list-style:none;padding:0;margin:0}a{text-decoration:none;color:inherit}img,picture,video,canvas,svg{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input,textarea,select{font:inherit;color:inherit;background:none;border:none;outline:none}button{cursor:pointer;border-radius:8px;border:1px solid;padding:.5rem .75rem;min-height:44px;min-width:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:16px;line-height:1.5;transition:background-color .25s,color .25s}:root{--bg-color: #fff;--body-bg-color: #f9f9f9;--text-color: #111;--icon-color: #222;--color-primary: #2563eb;--color-success: #16a34a;--color-warning: #ca8a04;--color-error: #dc2626}[data-theme=dark]{--bg-color: #222222;--body-bg-color: #171717;--text-color: #f5f5f5;--icon-color: #eee;--color-primary: #3b82f6;--color-success: #22c55e;--color-warning: #eab308;--color-error: #f87171}body{background-color:var(--body-bg-color);color:var(--text-color)}.ui-header,.ui-footer{background-color:var(--bg-color);color:var(--text-color)}:root{--bg-color: #fff;--text-color: #111;--color-primary: #1b3fa3;--color-success: #16a34a;--color-warning: #ca8a04;--color-error: #dc2626}[data-theme=dark]{--bg-color: #272727;--text-color: #f5f5f5;--color-primary: #2553a1;--color-success: #2bf677;--color-warning: #eab308;--color-error: #f87171}[data-theme=dark] .ui-button.dark{background:#222;color:#fff}[data-theme=light] .ui-button.light{background:#fff;color:#222}.ui-header,.ui-footer{padding:1rem;background-color:var(--bg-color);color:var(--text-color);border-bottom:1px solid var(--text-color)}.ui-header{display:flex;justify-content:space-between;flex-direction:row}.ui-footer{border-top:1px solid var(--text-color);border-bottom:none}.ui-footer ul{display:flex;gap:1rem;padding:0;margin:0}.ui-footer li{list-style:none}
