:root{--color-bg-primary:#fff;--color-bg-section:#f8f9fa;--color-text-primary:#1a1a2e;--color-text-secondary:#6b7280;--color-accent:#f97316;--color-accent-hover:#ea6a10;--color-success:#10b981;--color-error:#ef4444;--color-border:#e5e7eb;--color-shimmer-base:#e5e7eb;--color-shimmer-highlight:#f3f4f6;--font-body:"DM Sans", system-ui, -apple-system, sans-serif;--font-heading:"Plus Jakarta Sans", "DM Sans", system-ui, sans-serif;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;--radius-card:8px;--radius-button:24px;--radius-pill:999px;--touch-target:44px;--focus-ring:2px solid var(--color-accent);--focus-offset:2px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}a{color:var(--color-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{font-family:var(--font-body);cursor:pointer;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:var(--font-body);font-size:16px}img{max-width:100%;display:block}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg, var(--color-shimmer-base) 25%, var(--color-shimmer-highlight) 50%, var(--color-shimmer-base) 75%);border-radius:var(--radius-card);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toast{bottom:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);z-index:1000;pointer-events:none;font-size:.875rem;font-weight:500;animation:.3s forwards toast-in;position:fixed;left:50%;transform:translate(-50%)}.toast--warning{background-color:var(--color-accent);color:#fff}.toast--error{background-color:var(--color-error);color:#fff}.toast--success{background-color:var(--color-success);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (width<=768px){.eval-split{flex-direction:column!important}.eval-split>div:first-child{flex:none!important;width:100%!important}}tr[role=button]:hover{background-color:var(--color-bg-section)}input:focus,textarea:focus,select:focus{border-color:var(--color-accent)!important}button:not(:disabled):hover{filter:brightness(.95)}.page-flip-out-next{animation:.28s ease-in forwards flipOutNext}.page-flip-out-prev{animation:.28s ease-in forwards flipOutPrev}.page-flip-in-next{animation:.32s ease-out forwards flipInNext}.page-flip-in-prev{animation:.32s ease-out forwards flipInPrev}@keyframes flipOutNext{0%{opacity:1;transform:perspective(1200px)rotateY(0)}to{opacity:0;transform:perspective(1200px)rotateY(-45deg)}}@keyframes flipOutPrev{0%{opacity:1;transform:perspective(1200px)rotateY(0)}to{opacity:0;transform:perspective(1200px)rotateY(45deg)}}@keyframes flipInNext{0%{opacity:0;transform:perspective(1200px)rotateY(45deg)}to{opacity:1;transform:perspective(1200px)rotateY(0)}}@keyframes flipInPrev{0%{opacity:0;transform:perspective(1200px)rotateY(-45deg)}to{opacity:1;transform:perspective(1200px)rotateY(0)}}
