.btn{border-radius:.5rem;padding:.5rem 1rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background-color:var(--accent-color);color:var(--bg-color)}.btn:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background-color:var(--accent-light)}.btn-secondary{border-radius:.5rem;padding:.5rem 1rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background-color:var(--bg-secondary);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background-color:var(--bg-muted)}.card{border-radius:.75rem;padding:1.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background-color:var(--bg-primary);border:1px solid var(--border-color);box-shadow:0 4px 6px var(--shadow-color)}.card:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));box-shadow:0 8px 12px var(--shadow-color-dark)}.input{border-radius:.5rem;padding:.5rem 1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-color)}.input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-light)}.nav-link{border-radius:.25rem;padding:.5rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;color:var(--text-color)}.nav-link:hover{color:var(--bg-color)}.badge,.nav-link:hover{background-color:var(--accent-light)}.badge{border-radius:9999px;padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.alert,.badge{color:var(--text-color)}.alert{margin-bottom:1rem;border-radius:.5rem;padding:1rem;background-color:var(--bg-secondary);border:1px solid var(--border-color)}.alert-success{background-color:var(--success);color:#fff}.alert-error{background-color:var(--error);color:#fff}.alert-warning{background-color:var(--warning);color:#fff}.alert-info{background-color:var(--info);color:#fff}.loading-spinner{height:2rem;width:2rem;border-radius:9999px;border-width:4px;border-color:var(--accent-color) transparent var(--accent-color) transparent;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scroll-progress{position:fixed;top:0;left:0;z-index:50;height:.25rem;background-color:var(--accent-color);width:0;transition:width .3s ease}.mobile-menu{position:fixed;top:0;right:0;height:100%;width:16rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:transform;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background-color:var(--bg-color);border-left:1px solid var(--border-color);box-shadow:-4px 0 6px var(--shadow-color)}.mobile-menu.hidden{transform:translateX(100%)}.container{margin-left:auto;margin-right:auto;max-width:80rem;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.container{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.container{padding-left:2rem;padding-right:2rem}}.custom-grid{display:grid;gap:1rem}.custom-grid-1{grid-template-columns:repeat(1,minmax(0,1fr))}.custom-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.custom-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (min-width:640px){.sm\:custom-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:custom-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:custom-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:768px){.md\:custom-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:custom-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:custom-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:custom-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:custom-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:custom-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}