:root{--primary-color: #2563eb;--secondary-color: #64748b;--success-color: #059669;--danger-color: #dc2626;--dark-color: #1e293b;--light-color: #f8fafc;--board-green: #22c55e;--stone-black: #0f172a;--stone-white: #ffffff;--border-color: #e2e8f0;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;color:var(--dark-color);line-height:1.6}#root{min-height:100vh}.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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*:focus{outline:2px solid var(--primary-color);outline-offset:2px}button:focus,select:focus,input:focus{outline:2px solid var(--primary-color);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--light-color)}::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dark-color)}img{max-width:100%;height:auto}button{background:none;border:none;font:inherit;cursor:pointer}a{color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--primary-color);color:#fff}@media (prefers-color-scheme: dark){:root{--dark-color: #f8fafc;--light-color: #1e293b;--border-color: #374151}body{background:linear-gradient(135deg,#1e293b,#0f172a);color:var(--dark-color)}}@media print{body{background:#fff;color:#000}*{box-shadow:none!important;text-shadow:none!important}}@media (prefers-contrast: high){:root{--primary-color: #0000ff;--secondary-color: #000000;--success-color: #008000;--danger-color: #ff0000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (hover: none) and (pointer: coarse){button{min-height:44px;min-width:44px}}
