:root {--color-primary-bg:    #006747;--color-primary-text:  #ffffff;--color-primary-dark:  #004d35;--color-primary-hover: #005538;--color-normal-bg:     #ffffff;--color-normal-text:   #333333;--color-border:        #d0d7de;--color-focus-ring:    #006747;--spacing-xs:   4px;--spacing-sm:   8px;--spacing-md:   16px;--spacing-lg:   24px;--radius-sm:    4px;--radius-md:    8px;--radius-full:  50px;--text-xs:      16px;--text-sm:      0.875rem;--text-base:    1rem;--shadow-card:  0 4px 20px rgba(0,0,0,.14), 0 1px 4px rgba(0,0,0,.08);--shadow-btn:   0 1px 3px rgba(0,0,0,.05), 0 0 0 1px #1b1f2326;--transition:   0.18s ease;}.skip-nav {position: fixed;top: 12px;left: 50%;transform: translateX(-50%) translateY(-200%);z-index: 100000;display: flex;gap: var(--spacing-sm);transition: transform 0.2s ease;pointer-events: none;}.skip-nav:focus-within {transform: translateX(-50%) translateY(0%);pointer-events: auto;}.skip-link {display: inline-block;background: var(--color-primary-bg);color: var(--color-primary-text);border: 2px solid transparent;border-radius: var(--radius-full);padding: 10px 20px;font-size: var(--text-sm);font-weight: 600;cursor: pointer;text-decoration: none;white-space: nowrap;transition: background var(--transition), border-color var(--transition), box-shadow var(--transition);}.skip-link:focus {outline: none;background: var(--color-primary-dark);border-color: #fff;box-shadow: 0 0 0 3px rgba(0,103,71,.5);}#a11y-live-region {position: absolute;width: 1px; height: 1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border: 0;left: -9999px;}.accessibility-widget {position: fixed;top: 50%;right: 0;z-index: 1000;}.accessibility-float {width: 44px; height: 44px;background: var(--color-primary-bg);color: var(--color-primary-text);border: none;border-radius: var(--radius-full) 0 0 var(--radius-full);display: flex;align-items: center;justify-content: center;cursor: pointer;position: fixed;top: 50%;right: 0;transform: translateY(-22px);box-shadow: -2px 2px 8px rgba(0,0,0,.25);transition: background var(--transition), width var(--transition);z-index: 1001;}.accessibility-float:hover,
.accessibility-float:focus {background: var(--color-primary-dark);width: 50px;outline: none;box-shadow: -2px 2px 10px rgba(0,0,0,.35), 0 0 0 3px rgba(0,103,71,.4);}.ph-wheelchair-motion { font-size: 22px; pointer-events: none; }.accessibility-card {position: fixed;top: 50%;right: 56px;transform: translateY(-50%) scale(0.95);background: var(--color-normal-bg);border-radius: var(--radius-md);width: 270px;max-height: 80vh;overflow-y: auto;display: none;opacity: 0;box-shadow: var(--shadow-card);border: 1px solid var(--color-border);transition: opacity var(--transition), transform var(--transition);z-index: 1002;scrollbar-width: thin;scrollbar-color: var(--color-primary-bg) transparent;}.accessibility-card.accessibility-card-open {display: block;opacity: 1;transform: translateY(-50%) scale(1);animation: cardIn 0.2s ease forwards;}@keyframes cardIn {from { opacity: 0; transform: translateY(-50%) scale(0.92) translateX(8px); }to   { opacity: 1; transform: translateY(-50%) scale(1)    translateX(0);   }}.a11y-header {display: flex;align-items: center;justify-content: space-between;padding: var(--spacing-md) var(--spacing-md) var(--spacing-sm);border-bottom: 1px solid var(--color-border);position: sticky;top: 0;background: var(--color-normal-bg);z-index: 1;}.a11y-header h3 {margin: 0;font-size: 16px;font-weight: 700;color: var(--color-primary-bg);}.a11y-header-right {display: flex;align-items: center;gap: var(--spacing-xs);}.lang-toggle {display: flex;align-items: center;background: #f0f4f2;border-radius: var(--radius-full);padding: 2px;gap: 2px;border: 1px solid var(--color-border);}.lang-btn {background: transparent;border: none;border-radius: var(--radius-full);padding: 3px 9px;font-size: 11px;font-weight: 600;cursor: pointer;color: #666;transition: background var(--transition), color var(--transition);line-height: 1.4;}.lang-btn.active {background: var(--color-primary-bg);color: #fff;}.lang-btn:focus {outline: none;box-shadow: 0 0 0 2px var(--color-focus-ring);}#accessibility-close {width: 28px; height: 28px;display: flex; align-items: center; justify-content: center;background: transparent;border: 1px solid transparent;border-radius: var(--radius-sm);cursor: pointer;color: #666;font-size: 18px;transition: color var(--transition), background var(--transition);flex-shrink: 0;}#accessibility-close:hover { background: #f5f5f5; color: #333; }#accessibility-close:focus { outline: none; box-shadow: 0 0 0 2px var(--color-focus-ring); }.a11y-body { padding: var(--spacing-sm) var(--spacing-md) var(--spacing-md); }.a11y-section { margin-bottom: var(--spacing-sm); }.a11y-section-label {font-size: 15px;font-weight: 700;text-transform: uppercase;letter-spacing: .08em;color: #999;margin: var(--spacing-md) 0 var(--spacing-xs);}.font-controls { display: flex; gap: var(--spacing-xs); }.font-controls button {flex: 1;padding: 7px var(--spacing-sm);font-size: 10px;font-weight: 600;background: #f6f8fa;border: 1px solid var(--color-border);border-radius: var(--radius-sm);cursor: pointer;color: var(--color-normal-text);transition: background var(--transition), border-color var(--transition);}.font-controls button:hover { background: #eef1f4; border-color: #bbb; }.font-controls button:focus { outline: none; box-shadow: 0 0 0 2px var(--color-focus-ring); }.toggle-item {display: flex;align-items: center;gap: var(--spacing-sm);padding: 7px 0;border-bottom: 1px solid #f2f2f2;}.toggle-item:last-child { border-bottom: none; }.toggle-item label {font-size: 16px;color: var(--color-normal-text);cursor: pointer;flex: 1;user-select: none;}.toggle-item input[type="checkbox"] {appearance: none;-webkit-appearance: none;width: 36px; height: 20px;background: #ddd;border-radius: var(--radius-full);position: relative;cursor: pointer;flex-shrink: 0;transition: background var(--transition);border: none;}.toggle-item input[type="checkbox"]::after {content: '';position: absolute;top: 2px; left: 2px;width: 16px; height: 16px;background: #fff;border-radius: 50%;transition: transform var(--transition);box-shadow: 0 1px 3px rgba(0,0,0,.2);}.toggle-item input[type="checkbox"]:checked { background: var(--color-primary-bg); }.toggle-item input[type="checkbox"]:checked::after { transform: translateX(16px); }.toggle-item input[type="checkbox"]:focus {outline: none;box-shadow: 0 0 0 2px var(--color-focus-ring), 0 0 0 4px rgba(0,103,71,.2);}.a11y-reset {width: 100%;margin-top: var(--spacing-sm);padding: 9px;background: #fff;border: 1.5px solid var(--color-border);border-radius: var(--radius-sm);font-size: var(--text-sm);font-weight: 600;color: #555;cursor: pointer;transition: background var(--transition), border-color var(--transition), color var(--transition);}.a11y-reset:hover { background: #f5f5f5; border-color: #999; color: #333; }.a11y-reset:focus { outline: none; box-shadow: 0 0 0 2px var(--color-focus-ring); }.screen-reader-link {display: block;margin-top: var(--spacing-sm);font-size: var(--text-xs);color: var(--color-primary-bg);text-decoration: underline;text-underline-offset: 2px;}.screen-reader-link:focus {outline: none;box-shadow: 0 0 0 2px var(--color-focus-ring);border-radius: 2px;}#readingGuide {display: none;width: 100vw; height: 4px;z-index: 999999;position: fixed;left: 0;pointer-events: none;background: linear-gradient(90deg, #d1df0e, #aec00a);box-shadow: 0 0 8px rgba(209,223,14,.6);}html.guide #readingGuide { display: block; }html.monochrome  { filter: grayscale() contrast(120%); }html.inverted    { filter: invert(75%) contrast(120%); background: #fff; }html.highlightLinks a { color: #000 !important; background-color: #dce785 !important; }html.highlightHeadings h1,
html.highlightHeadings h2,
html.highlightHeadings h3,
html.highlightHeadings h4,
html.highlightHeadings h5,
html.highlightHeadings h6 {color: #000 !important;background-color: #aec00a !important;}html.bigCursor,
html.bigCursor * {cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M8 4 L8 38 L18 28 L26 44 L30 42 L22 26 L36 26 Z' fill='white' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") 4 4, auto !important;}.accessibility-widget *:focus-visible {outline: none;box-shadow: 0 0 0 2px var(--color-focus-ring), 0 0 0 4px rgba(0,103,71,.25);}