.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}.skip-link{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px;text-decoration:none;z-index:9999;border-radius:4px;font-weight:700;transition:top .3s}.skip-link:focus{top:6px}.accessibility-menu{position:fixed;top:20px;right:20px;z-index:1000}.accessibility-toggle{width:48px;height:48px;border-radius:50%;background:#007bff;color:white;border:none;font-size:20px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);transition:all .3s ease;display:flex;align-items:center;justify-content:center}.accessibility-toggle:hover{background:#0056b3;transform:scale(1.05)}.accessibility-toggle:focus{outline:3px solid #ffd700;outline-offset:2px}.accessibility-panel{position:absolute;top:60px;right:0;background:white;border:1px solid #ddd;border-radius:8px;padding:20px;min-width:280px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:1001}.accessibility-panel h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#333}.accessibility-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.accessibility-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#555}.accessibility-option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.accessibility-close{background:#6c757d;color:white;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;width:100%}.accessibility-close:hover{background:#5a6268}.accessibility-close:focus{outline:2px solid #007bff;outline-offset:2px}body.high-contrast{--bg-primary:#000000;--bg-secondary:#1a1a1a;--text-primary:#ffffff;--text-secondary:#cccccc;--border-color:#ffffff;--link-color:#00ffff;--button-bg:#ffffff;--button-text:#000000}body.high-contrast *{background-color:var(--bg-primary)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}body.high-contrast a{color:var(--link-color)!important;text-decoration:underline!important}body.high-contrast button{background-color:var(--button-bg)!important;color:var(--button-text)!important;border:2px solid var(--border-color)!important}body.high-contrast input,body.high-contrast select,body.high-contrast textarea{background-color:var(--bg-secondary)!important;color:var(--text-primary)!important;border:2px solid var(--border-color)!important}body.large-text{font-size:120%!important}body.large-text *{font-size:inherit!important;line-height:1.6!important}body.large-text h1{font-size:2.4em!important}body.large-text h2{font-size:2em!important}body.large-text h3{font-size:1.6em!important}body.large-text h4{font-size:1.4em!important}body.large-text h5{font-size:1.2em!important}body.large-text h6{font-size:1.1em!important}body.large-text button,body.large-text input,body.large-text select,body.large-text textarea{padding:12px 16px!important;font-size:1.1em!important}body.reduced-motion *,body.reduced-motion :after,body.reduced-motion :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body.keyboard-navigation :focus{outline:3px solid #007bff!important;outline-offset:2px!important;box-shadow:0 0 0 1px #ffffff!important}body.keyboard-navigation a:focus,body.keyboard-navigation button:focus,body.keyboard-navigation input:focus,body.keyboard-navigation select:focus,body.keyboard-navigation textarea:focus{outline:3px solid #ffd700!important;outline-offset:2px!important}body.focus-visible :focus-visible{outline:3px solid #007bff!important;outline-offset:2px!important;background-color:rgba(0,123,255,.1)!important}a,button,input[type=button],input[type=reset],input[type=submit]{min-height:44px;min-width:44px}label{cursor:pointer;display:block;margin-bottom:4px;font-weight:500}.error,[aria-invalid=true]{border-color:#dc3545!important;background-color:#fff5f5!important}.error-message{color:#dc3545;font-size:.875em;margin-top:4px;display:block}.required:after{content:" *";color:#dc3545;font-weight:700}.loading{position:relative}.loading:after{content:"加载中...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.8);color:white;padding:8px 12px;border-radius:4px;font-size:14px}.progress{background-color:#e9ecef;border-radius:4px;overflow:hidden;height:20px}.progress-bar{background-color:#007bff;height:100%;transition:width .3s ease;display:flex;align-items:center;justify-content:center;color:white;font-size:12px;font-weight:500}.tooltip{position:relative;display:inline-block}.tooltip-content{visibility:hidden;width:200px;background-color:#333;color:#fff;text-align:center;border-radius:4px;padding:8px;position:absolute;z-index:1000;bottom:125%;left:50%;margin-left:-100px;font-size:14px;line-height:1.4}.tooltip:focus .tooltip-content,.tooltip:hover .tooltip-content{visibility:visible}@media (max-width:768px){.accessibility-menu{top:10px;right:10px}.accessibility-panel{right:-10px;min-width:260px}body.large-text{font-size:110%!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast:high){:root{--bg-primary:#000000;--text-primary:#ffffff;--border-color:#ffffff}}