:root{--grym-primary:#d62828;--grym-secondary:#f5f5f5;--grym-surface:#fff;--grym-text:#0b0b0b;--grym-muted:#6b6b6b;--grym-success:#16a34a;--grym-error:#ef4444;--grym-warning:#f59e0b;--grym-info:#3b82f6;--grym-border:#e0e0e0;--grym-success-bg:#dcfce7;--grym-success-border:#86efac;--grym-error-bg:#fee2e2;--grym-error-border:#fca5a5;--grym-warning-bg:#fef3c7;--grym-warning-border:#fcd34d;--grym-info-bg:#dbeafe;--grym-info-border:#93c5fd;--grym-focus-ring:0 0 0 3px #d6282826;--grym-focus-ring-offset:2px;--grym-transition-fast:.15s cubic-bezier(.4,0,.2,1);--grym-transition-base:.3s cubic-bezier(.4,0,.2,1);--grym-transition-slow:.5s cubic-bezier(.4,0,.2,1);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--border-radius-sm:.25rem;--border-radius-md:.5rem;--border-radius-lg:.75rem;--border-radius-xl:1rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--shadow-focus:0 0 0 3px var(--grym-primary)/.15}.dark{--grym-primary:#d62828;--grym-secondary:#0b0b0b;--grym-surface:#1c1c1c;--grym-text:#f5f5f5;--grym-muted:#b3b3b3;--grym-success:#22c55e;--grym-error:#f87171;--grym-warning:#fbbf24;--grym-info:#60a5fa;--grym-border:#2b2b2b;--grym-success-bg:#14532d;--grym-success-border:#16a34a;--grym-error-bg:#7f1d1d;--grym-error-border:#dc2626;--grym-warning-bg:#78350f;--grym-warning-border:#f59e0b;--grym-info-bg:#1e3a8a;--grym-info-border:#3b82f6;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080;--shadow-xl:0 20px 25px -5px #0009}.grym-success{color:var(--grym-success);background-color:var(--grym-success-bg);border-color:var(--grym-success-border)}.grym-error{color:var(--grym-error);background-color:var(--grym-error-bg);border-color:var(--grym-error-border)}.grym-warning{color:var(--grym-warning);background-color:var(--grym-warning-bg);border-color:var(--grym-warning-border)}.grym-info{color:var(--grym-info);background-color:var(--grym-info-bg);border-color:var(--grym-info-border)}.grym-focus{outline:2px solid var(--grym-primary);outline-offset:var(--grym-focus-ring-offset);box-shadow:var(--grym-focus-ring)}.grym-gradient{background:linear-gradient(135deg,var(--grym-primary)0%,#a61f1f 100%)}.grym-card{background-color:var(--grym-surface);border:1px solid var(--grym-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);transition:all var(--grym-transition-base)}.grym-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.grym-button{background-color:var(--grym-primary);color:var(--grym-surface);padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--border-radius-md);transition:all var(--grym-transition-fast);cursor:pointer;border:none;font-weight:600}.grym-button:hover:not(:disabled){opacity:.9;box-shadow:var(--shadow-lg);transform:translateY(-1px)}.grym-button:active:not(:disabled){transform:translateY(0)}.grym-button:disabled{opacity:.5;cursor:not-allowed}.grym-button:focus-visible{outline:2px solid var(--grym-primary);outline-offset:var(--grym-focus-ring-offset);box-shadow:var(--grym-focus-ring)}.grym-input{background-color:var(--grym-surface);border:1px solid var(--grym-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm)var(--spacing-md);color:var(--grym-text);transition:all var(--grym-transition-fast)}.grym-input:focus{outline:2px solid var(--grym-primary);outline-offset:var(--grym-focus-ring-offset);box-shadow:var(--grym-focus-ring);border-color:var(--grym-primary)}.grym-input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--grym-secondary)}.grym-input.error{border-color:var(--grym-error)}.grym-input.error:focus{outline-color:var(--grym-error);box-shadow:0 0 0 3px #ef444426}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn var(--grym-transition-base)ease-in-out}.animate-slideUp{animation:slideUp var(--grym-transition-base)ease-out}.animate-slideDown{animation:slideDown var(--grym-transition-base)ease-out}.animate-slideInLeft{animation:slideInLeft var(--grym-transition-base)ease-out}.animate-slideInRight{animation:slideInRight var(--grym-transition-base)ease-out}.animate-scale{animation:scale var(--grym-transition-base)ease-out}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}*{transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--grym-transition-base);transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
