:root{--font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-size-base:16px;--primary-color:#00a8ff;--primary-dark:#0078b4;--secondary-color:#8bc34a;--accent-color:#ffc107;--text-color:#2f3640;--text-light:#7f8fa6;--text-inverse:#ffffff;--background-color:#f5f6fa;--card-bg:#ffffff;--header-bg:rgba(47,54,64,0.95);--footer-bg:#2f3640;--border-color:#dcdde1;--hero-overlay:linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0.7));--box-shadow:0 8px 15px rgba(0,0,0,0.1);--btn-color:#000000;--border-radius:12px;--transition:all 0.3s cubic-bezier(0.25,0.8,0.25,1);--btn-hover-offset:3px;--btn-active-offset:1px;--btn-transition:all 0.3s cubic-bezier(0.25,0.8,0.25,1);--btn-focus-shadow:0 0 0 3px rgba(0,168,255,0.4)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}html.pseudo-fullscreen-active,html.pseudo-fullscreen-active body{position:fixed;width:100%;height:100%;overflow:hidden}body{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--text-color);line-height:1.6;background-color:var(--background-color);transition:background-color .3s ease}.btn,.font-special,h1,h2,h3,h4,h5,h6{font-family:var(--font-body);font-weight:700}.site-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex-grow:1}[data-theme=dark]{--primary-color:#00a8ff;--primary-dark:#0097e6;--text-color:#f5f6fa;--text-light:#dcdde1;--text-inverse:#f5f6fa;--background-color:#1e272e;--card-bg:#2d3436;--header-bg:rgba(30,39,46,0.95);--footer-bg:#1e272e;--border-color:#353b48;--hero-overlay:linear-gradient(rgba(0,0,0,0.7),rgba(0,0,0,0.7));--box-shadow:0 8px 15px rgba(0,0,0,0.3);--btn-color:#ffffff}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);opacity:.3}to{transform:scale(1.2);opacity:.5}}@keyframes spin{to{transform:rotate(1turn)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 2.25rem;border-radius:var(--border-radius);font-weight:700;text-align:center;cursor:pointer;transition:var(--btn-transition);border:none;text-transform:uppercase;letter-spacing:1.25px;font-size:.875rem;position:relative;overflow:hidden;z-index:1;box-shadow:0 4px 8px rgba(0,0,0,.1);line-height:1.2;will-change:transform,box-shadow}.btn:focus-visible{outline:none;box-shadow:var(--btn-focus-shadow)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn:before{content:"";position:absolute;top:0;left:-100%;width:200%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-50%);transition:transform .6s ease;z-index:0}.btn:hover:before{transform:translateX(100%)}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--text-inverse);border:2px solid var(--primary-dark)}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px rgba(0,168,255,.3)}.btn-primary:active{transform:translateY(var(--btn-active-offset))}.btn-secondary{background:transparent;color:var(--text-inverse);border:2px solid var(--text-inverse);position:relative}.btn-secondary:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;transform:scaleX(0);transform-origin:right;transition:transform .4s ease;border-radius:var(--border-radius);background:var(--text-inverse)}.btn-secondary:hover{color:var(--primary-color);transform:translateY(-3px)}.btn-secondary:hover:after{transform:scaleX(1);transform-origin:left}.btn-large{padding:1.25rem 3rem;font-size:1rem;letter-spacing:1.5px}.btn-block{display:flex;width:100%}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}@media (max-width:768px){:root{--font-size-base:14px;--border-radius:10px}.btn{padding:.75rem 1.5rem;font-size:.825rem}.btn-large{padding:1rem 2rem}}