:root{--navbar-bg:#ffffff;--navbar-border:#d1d5db;--navbar-text:#111827;--navbar-text-hover:#1d4ed8;--body-bg:#ffffff;--body-color:#111827;--card-bg:#ffffff;--card-border:#d1d5db;--card-text:#111827;--hero-bg:#f9fafb;--footer-bg:#f9fafb;--footer-color:#111827;--link-color:#1d4ed8;--border-color:#d1d5db;--button-primary-bg:#1d4ed8;--button-primary-color:#ffffff;--button-outline-border:#1d4ed8;--button-outline-color:#1d4ed8;--button-outline-hover-bg:#1d4ed8;--alert-info-bg:#f0f9ff;--alert-info-border:#0ea5e9;--alert-info-color:#0c4a6e}[data-theme="dark"]{--navbar-bg:#111827;--navbar-border:#374151;--navbar-text:#f9fafb;--navbar-text-hover:#93c5fd;--body-bg:#0f172a;--body-color:#f8fafc;--card-bg:#1e293b;--card-border:#475569;--card-text:#f8fafc;--hero-bg:#1e293b;--footer-bg:#1e293b;--footer-color:#f8fafc;--link-color:#93c5fd;--border-color:#475569;--button-primary-bg:#3b82f6;--button-primary-color:#ffffff;--button-outline-border:#93c5fd;--button-outline-color:#93c5fd;--button-outline-hover-bg:#3b82f6;--alert-info-bg:#1e293b;--alert-info-border:#475569;--alert-info-color:#f8fafc}body{background-color:var(--body-bg);color:var(--body-color);transition:background-color 0.3s ease,color 0.3s ease}.navbar{background-color:var(--navbar-bg)!important;border-bottom:1px solid var(--navbar-border);transition:background-color 0.3s ease}.navbar-brand,.navbar-nav .nav-link{color:var(--navbar-text)!important;transition:color 0.3s ease}.navbar-brand{pointer-events:none;text-decoration:none}.navbar-brand:hover,.navbar-brand:focus{color:var(--navbar-text)!important;text-decoration:none}.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus{color:var(--navbar-text-hover)!important}.navbar-toggler{border-color:var(--navbar-text);border-width:2px}.navbar-toggler:focus{box-shadow:0 0 0 .25rem rgb(29 78 216 / .25)}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23111827' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-theme="dark"] .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23f9fafb' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-theme="dark"] .navbar-toggler:focus{box-shadow:0 0 0 .25rem rgb(147 197 253 / .25)}.card{background-color:var(--card-bg);border-color:var(--card-border);transition:background-color 0.3s ease,border-color 0.3s ease}.card-body,.card-title,.card-text{color:var(--card-text);transition:color 0.3s ease}.hero{background-color:var(--hero-bg);padding:3rem 0;border-radius:.375rem;margin-bottom:2rem;transition:background-color 0.3s ease}main{padding-top:2rem;padding-bottom:2rem}footer{background-color:var(--footer-bg);color:var(--footer-color);padding:2rem 0;margin-top:3rem;border-top:1px solid var(--border-color);transition:background-color 0.3s ease,color 0.3s ease}.alert-info{background-color:var(--alert-info-bg);border-color:var(--alert-info-border);color:var(--alert-info-color);border-width:2px}.alert-info .alert-heading{color:var(--alert-info-color)}.btn-primary{background-color:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--button-primary-color)}.btn-primary:hover,.btn-primary:focus{background-color:var(--button-primary-bg);border-color:var(--button-primary-bg);color:var(--button-primary-color);filter:brightness(.9)}.btn-outline-primary{border-color:var(--button-outline-border);color:var(--button-outline-color);background-color:#fff0}.btn-outline-primary:hover,.btn-outline-primary:focus{background-color:var(--button-outline-hover-bg);border-color:var(--button-outline-border);color:var(--button-primary-color)}.theme-toggle{background:none;border:2px solid var(--navbar-text);color:var(--navbar-text);border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;cursor:pointer;white-space:nowrap;transition:all 0.3s ease}.theme-toggle:hover,.theme-toggle:focus{background-color:var(--navbar-text);color:var(--navbar-bg);outline:2px solid var(--navbar-text);outline-offset:2px}.language-switcher{display:flex;align-items:center;gap:.5rem}.language-switcher .btn{font-size:.875rem;padding:.375rem .75rem;min-width:auto;white-space:nowrap}.back-to-top{position:fixed;bottom:20px;right:20px;width:50px;height:50px;background-color:var(--button-primary-bg);color:var(--button-primary-color);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgb(0 123 255 / .3);opacity:0;visibility:hidden;transform:translateY(20px);transition:all 0.3s cubic-bezier(.4,0,.2,1);z-index:1000;font-size:18px}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{filter:brightness(.9);transform:translateY(-2px);box-shadow:0 6px 20px rgb(0 123 255 / .4)}.back-to-top:focus{outline:3px solid #ffc107;outline-offset:2px}.back-to-top:active{transform:translateY(0);box-shadow:0 2px 8px rgb(0 123 255 / .3)}.back-to-top::before{content:'↑';font-size:20px;font-weight:700;line-height:1}.skip-link{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px;text-decoration:none;z-index:1050;border-radius:0 0 4px 4px}.skip-link:focus{top:0}.btn:focus,.nav-link:focus{outline:3px solid var(--button-outline-border);outline-offset:2px}.navbar-brand:focus{outline:3px solid var(--navbar-text);outline-offset:2px}.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}.text-light{color:var(--link-color)!important}.btn,.nav-link,.navbar-brand{cursor:pointer}.navbar-nav .nav-item{margin-right:1rem}@media (max-width:991px){.language-switcher{flex-direction:column;gap:.25rem;width:100%;margin-top:1rem}.language-switcher .btn,.theme-toggle{width:100%}}@media (max-width:768px){.back-to-top{bottom:15px;right:15px;width:45px;height:45px;font-size:16px}.back-to-top::before{font-size:18px}}@media (prefers-contrast:high){.back-to-top{border:2px solid}}@media (prefers-reduced-motion:reduce){.back-to-top{transition:opacity 0.3s ease}.back-to-top:hover{transform:none}}