:root{--spacing-base: 1rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--color-primary: #36c;--color-primary-hover: #3d7ae6;--color-primary-active: #2d5bb9;--color-text: #202122;--color-text-secondary: #54595d;--color-text-tertiary: #72777d;--color-border: #a2a9b1;--color-background: #f8f9fa;--color-white: #fff;--color-hover-bg: #eaf3ff;--color-active-bg: #e2edf9;--color-error: #d33;--color-success: #14866d;--max-width-content: 960px;--max-width-narrow: 800px;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-serif: "Linux Libertine", "Georgia", "Times", serif;--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-lg: 1.2rem;--font-size-xl: 3rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease}html{height:-webkit-fill-available;overflow:hidden;-webkit-overflow-scrolling:touch}body{min-height:100vh;min-height:-webkit-fill-available;overflow:hidden;position:fixed;width:100%;height:100%}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}img{image-rendering:pixelated}header{background:var(--color-white);border-bottom:1px solid var(--color-border);padding:var(--spacing-base);position:relative;z-index:2;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-base);flex-shrink:0}main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;position:relative;padding:var(--spacing-lg) var(--spacing-base);gap:var(--spacing-base);display:flex;flex-direction:column;align-items:center}.wiki-container{height:100%;display:flex;flex-direction:column;overflow:hidden}.mw-body,.loading,.error,.welcome{width:100%;max-width:var(--max-width-content)}.mobile-header{background:var(--color-white);border-bottom:1px solid var(--color-border);padding:.75rem;gap:.75rem;position:relative;z-index:2;box-shadow:var(--shadow-sm);flex-shrink:0}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-family-base);background:var(--color-background);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased}.mw-body{margin:0!important;border-right-width:unset!important;border-color:var(--color-border)!important;line-height:1.6!important}.mw-body p{white-space:pre-wrap;margin:1em 0}.search-area{max-width:var(--max-width-narrow);margin:0 auto;width:100%}.search-area form{display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:center}.search-area form.has-wiki-link{grid-template-columns:1fr auto auto auto}.search-area input{min-width:0;padding:.625rem .75rem;font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:4px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-area input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3366cc26}.search-area button{padding:.625rem var(--spacing-base);font-size:var(--font-size-base);background:var(--color-primary);color:var(--color-white);border:none;border-radius:4px;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-weight:500;min-width:max-content}.search-area button[type=submit]{background:var(--color-primary)}.search-area button[type=button]{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-text)}.search-area button:hover,.search-area button[type=submit]:hover{background:var(--color-primary-hover)}.search-area button[type=button]:hover{background:var(--color-hover-bg);border-color:var(--color-primary);color:var(--color-primary)}.search-area button:active,.search-area button[type=submit]:active{background:var(--color-primary-active)}.search-area button[type=button]:active{background:var(--color-active-bg)}.grade-buttons-wrapper{width:100%;display:flex;justify-content:center}.grade-buttons{display:inline-flex;background:var(--color-background);padding:3px;border-radius:8px;position:relative;border:1px solid var(--color-border)}.grade-button{position:relative;padding:5px 12px;font-size:var(--font-size-sm);background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);font-weight:500;z-index:1;min-width:48px;white-space:nowrap}.grade-button:hover:not(.active){color:var(--color-primary)}.grade-button.active{color:var(--color-white)}.grade-button.active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-primary);border-radius:6px;box-shadow:var(--shadow-sm);z-index:-1;transition:all var(--transition-fast)}.welcome{text-align:center;padding:var(--spacing-xl);max-width:var(--max-width-narrow);margin:var(--spacing-lg) auto;background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-md)}.welcome h1{font-family:var(--font-family-serif);font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:var(--spacing-base);line-height:1.2}.welcome p{color:var(--color-text-secondary);font-size:var(--font-size-lg);max-width:600px;margin:0 auto}.loading,.error{text-align:center;padding:var(--spacing-lg);max-width:var(--max-width-content);background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-sm)}.loading h2,.error h2{color:var(--color-text);margin-bottom:var(--spacing-base);font-family:var(--font-family-serif);font-size:calc(var(--font-size-lg) * 1.5)}.loading p,.error p{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:var(--font-size-lg)}.loading-spinner{display:inline-block;width:50px;height:50px;border:3px solid var(--color-hover-bg);border-radius:50%;border-top:3px solid var(--color-primary);will-change:transform}.error button{background:var(--color-primary);color:var(--color-white);border:none;padding:.625rem var(--spacing-lg);border-radius:4px;cursor:pointer;font-size:var(--font-size-base);transition:all var(--transition-base);font-weight:500}.error button:hover{background:var(--color-primary-hover)}.error button:active{background:var(--color-primary-active)}.mw-body{background:var(--color-white);padding:var(--spacing-lg);border:1px solid var(--color-border)!important;border-radius:8px;box-shadow:var(--shadow-sm)}.mw-body h1,.mw-body h2,.mw-body h3{font-family:var(--font-family-serif);margin:1em 0 .5em;line-height:1.3}.mw-body h1{font-size:2.5em;border-bottom:1px solid var(--color-border);padding-bottom:.25em}.mw-body h2{font-size:2em;border-bottom:1px solid var(--color-border);padding-bottom:.25em}.mw-body h3{font-size:1.5em}.mw-editsection,.mw-edit-section-link,.mw-indicators,.mw-redirectedfrom,.mw-jump-link,.mw-revision{display:none!important}.mw-headline{display:inline-block}@media (max-width: 768px){:root{--spacing-base: .875rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem}.search-area form{flex-wrap:wrap}.search-area input{min-width:100%}.welcome h1{font-size:calc(var(--font-size-xl) * .8)}.mw-body{padding:var(--spacing-base)}input,select,textarea{font-size:16px!important}.mobile-header input{width:100%;padding:.75rem;font-size:16px;border:1px solid var(--color-border);border-radius:6px;-webkit-appearance:none}.mobile-button{padding:.75rem;font-size:16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-white);color:var(--color-text);min-width:70px;text-align:center;font-weight:500}.mobile-grade-select{text-align:left;padding:.75rem;font-size:16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-white);color:var(--color-text);position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.mobile-grade-options button{width:100%;text-align:left;padding:.75rem;border:none;background:none;font-size:16px;color:var(--color-text);border-radius:4px}}.search-results{margin-top:.5rem}.search-result{display:flex;align-items:center;padding:.5rem;border-bottom:1px solid var(--color-border);text-decoration:none!important;color:inherit}.search-result:last-child{border-bottom:none}.search-result-content{flex:1;min-width:0}.search-result h3{margin:0;font-size:1.1rem;line-height:1.2;color:var(--color-primary);text-decoration:none}.search-result:hover h3{text-decoration:underline}.search-count{color:var(--color-text-secondary);font-size:.9rem;margin:.5rem 0}.search-match{font-weight:700}@media (max-width: 768px){.search-result{padding:.5rem .75rem}.search-result h3{font-size:1rem}}.mw-body .search-result,.mw-body .search-result:hover,.mw-body .search-result:hover *{text-decoration:none!important}.search-loading{text-align:center;padding:1rem 0}.search-loading .loading-spinner{width:30px;height:30px}.search-loading p{color:var(--color-text-secondary);font-size:.9rem;margin:.5rem 0 0}.search-loading{text-align:center;padding:1.5rem 0;margin-top:1.5rem}.search-loading p{color:var(--color-text-secondary);font-size:.9rem;margin:0}.search-more{text-align:center;padding:1.5rem 0;margin-top:1.5rem}.search-more:not(:empty){border-top:1px solid var(--color-border)}.search-more-button{background:var(--color-white);border:1px solid var(--color-border);color:var(--color-text);padding:.625rem var(--spacing-lg);border-radius:4px;cursor:pointer;font-size:var(--font-size-base);transition:all var(--transition-base);font-weight:500}.search-more-button:hover{background:var(--color-hover-bg);border-color:var(--color-primary);color:var(--color-primary)}.search-more-button:active{background:var(--color-active-bg)}.mobile-header .search-area{margin-bottom:0}.mobile-header .search-area form{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:stretch}.mobile-header input,.mobile-header button[type=submit],.mobile-button{height:40px;padding:0 .75rem;font-size:16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-white);color:var(--color-text);min-width:70px;text-align:center;font-weight:500}.mobile-header input{text-align:left;padding:0 .75rem;-webkit-appearance:none}.mobile-header button[type=submit],.mobile-button[type=submit]{background:var(--color-primary);color:var(--color-white);border:none}.mobile-controls{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;position:relative}.mobile-button{font-size:.9375rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-white);color:var(--color-text);min-width:70px;text-align:center;font-weight:500}.mobile-button[type=submit]{background:var(--color-primary);color:var(--color-white);border:none}.mobile-grade-select{height:40px;padding:0 .75rem;font-size:16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-white);color:var(--color-text);position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;text-align:left}.mobile-grade-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-white);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-md);z-index:10;padding:4px}.mobile-grade-options button{width:100%;text-align:left;padding:.75rem;border:none;background:none;font-size:.9375rem;color:var(--color-text);border-radius:4px}.mobile-grade-options button:active{background:var(--color-active-bg)}.mobile-grade-options button.active{background:var(--color-primary);color:var(--color-white);font-weight:500}.error{text-align:center;padding:var(--spacing-lg);max-width:var(--max-width-content);background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-sm)}.error h2{color:var(--color-text);margin-bottom:var(--spacing-base);font-family:var(--font-family-serif);font-size:calc(var(--font-size-lg) * 1.5)}.error p{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:var(--font-size-lg)}.error-actions{display:flex;gap:1rem;justify-content:center}.error-actions button{background:var(--color-primary);color:var(--color-white);border:none;padding:.625rem var(--spacing-lg);border-radius:4px;cursor:pointer;font-size:var(--font-size-base);transition:all var(--transition-base);font-weight:500}.error-actions button:nth-child(2){background:var(--color-white);border:1px solid var(--color-border);color:var(--color-text)}.error-actions button:hover{background:var(--color-primary-hover)}.error-actions button:nth-child(2):hover{background:var(--color-hover-bg);border-color:var(--color-primary);color:var(--color-primary)}.error-actions button:active{background:var(--color-primary-active)}.error-actions button:nth-child(2):active{background:var(--color-active-bg)}.mw-body figure:not(.loaded){display:none!important}@media (max-width: 768px){main{padding:0;align-items:stretch}.wiki-container{height:100%;display:flex;flex-direction:column;overflow:hidden}.mw-body,.loading,.error{border:none!important;border-radius:0!important;padding:1rem;margin:0;box-shadow:none;background:var(--color-white);max-width:none}.loading h2,.error h2{font-size:1.5rem;margin-bottom:.75rem}.loading p,.error p{font-size:1rem;margin:.75rem 0 1.5rem}.error-actions{flex-direction:column;gap:.75rem;padding:0}.error-actions button{width:100%;padding:.75rem;font-size:1rem}.loading-spinner{width:30px;height:30px}.mw-body-content{border:0!important}.mw-body h1{font-size:1.75em;margin-top:0}.mw-body h2{font-size:1.5em}.mw-body h3{font-size:1.25em}.welcome{padding:1.5rem 1rem;margin:0;text-align:left;border-radius:0;border:none;box-shadow:none;background:var(--color-white)}.welcome h1{font-size:2em;margin-bottom:1rem}.welcome p{font-size:1.125rem}#toc{float:none;width:100%;margin:1.25rem 0;font-size:.9375rem;border:1px solid var(--color-border);border-radius:6px;padding:1rem}.mw-body figure{max-width:100%!important;margin:1.25rem 0!important;float:none!important}.mw-body figure img{max-width:100%;height:auto;border-radius:4px}.mw-body figure.mw-halign-right,.mw-body figure.mw-halign-left{float:none;margin:1.25rem 0}.mw-body figure img{margin-top:0!important;margin-left:0!important;margin-right:0!important;border:0!important;border-radius:0!important}.mw-body figure{margin:0!important}}@media (min-width: 769px){.mobile-header{display:none}}.image-gallery-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-base);animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (max-width: 768px){body:has(.image-gallery-overlay) header{display:none}}.image-gallery-content{position:relative;width:min(95vw,1200px);height:95vh;display:flex;flex-direction:column;gap:var(--spacing-base);padding:var(--spacing-lg);background:var(--color-white);border-radius:12px;box-shadow:0 8px 32px #0006}.image-gallery-close{position:absolute;top:var(--spacing-base);right:var(--spacing-base);width:44px;height:44px;border-radius:50%;background:var(--color-white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text);box-shadow:0 2px 8px #0003;transition:all var(--transition-base);z-index:10}.image-gallery-close:hover{background:var(--color-hover-bg);transform:scale(1.1)}.image-gallery-main{position:relative;flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;margin:calc(var(--spacing-base) * -1);width:calc(100% + var(--spacing-base) * 2)}.image-gallery-image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-background);overflow:hidden;border-radius:0}.image-gallery-image-container img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:1}.image-gallery-image-container img.loading{opacity:.3}.image-gallery-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-text);font-weight:500}.image-gallery-nav-target{display:flex;align-items:center;justify-content:center;width:44px;cursor:pointer;flex-shrink:0}.image-gallery-nav-target:hover .image-gallery-nav{background:var(--color-hover-bg);transform:scale(1.1)}.image-gallery-nav{width:44px;height:44px;border-radius:50%;background:var(--color-white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text);box-shadow:0 2px 8px #0003;flex-shrink:0;pointer-events:none}.image-gallery-caption{color:var(--color-text);text-align:center;flex:1;font-size:var(--font-size-base);line-height:1.6;min-height:44px;display:flex;align-items:center;justify-content:center}.image-gallery-caption:empty:before{content:"No caption";color:var(--color-text-tertiary);font-style:italic}.image-gallery-caption a{color:var(--color-primary);text-decoration:none}.image-gallery-caption a:hover{color:var(--color-primary-hover);text-decoration:underline}.image-gallery-thumbnails{display:flex;gap:var(--spacing-base);overflow-x:auto;padding:var(--spacing-base) 0 0;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-height:75px;margin-bottom:-20px;padding-bottom:20px}.image-gallery-thumbnails::-webkit-scrollbar{display:none}.image-gallery-content:has(.image-gallery-thumbnails:only-child) .image-gallery-thumbnails{display:none}.image-gallery-nav-area{display:flex;align-items:stretch;gap:var(--spacing-base);padding:var(--spacing-base) 0;min-height:44px}.image-gallery-thumbnail{flex:0 0 100px;height:75px;border:2px solid transparent;border-radius:6px;padding:0;cursor:pointer;overflow:hidden;transition:all var(--transition-base);background:var(--color-background);opacity:.7}.image-gallery-thumbnail:hover{opacity:.9}.image-gallery-thumbnail.active{border-color:var(--color-primary);opacity:1}.image-gallery-thumbnail img{width:100%;height:100%;object-fit:cover}@media (max-width: 768px){.image-gallery-overlay{padding:0}.image-gallery-content{width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--spacing-base);padding-bottom:calc(env(safe-area-inset-bottom,0) + var(--spacing-base));border-radius:0}.image-gallery-close{top:var(--spacing-base);right:var(--spacing-base);width:36px;height:36px}.image-gallery-nav-area{padding:var(--spacing-base) 0;min-height:36px}.image-gallery-nav-target{width:36px}.image-gallery-nav{width:36px;height:36px}.image-gallery-caption{font-size:var(--font-size-sm);min-height:36px}.image-gallery-thumbnails{min-height:60px}}.mw-body .search-results{margin:.5rem 0}.mw-body .search-result{margin:0;padding:.5rem}.mw-body .search-description{margin:.15rem 0 0}.mw-body .search-result,.mw-body .search-result:hover,.mw-body .search-result .search-description,.mw-body .search-result:hover .search-description,.mw-body .search-result:hover *{text-decoration:none!important}.mw-body .search-result:hover h3{text-decoration:underline!important}.article-disclaimer{margin-bottom:var(--spacing-base);border-radius:6px;overflow:hidden;background:var(--color-background);border:1px solid var(--color-border)}.article-disclaimer-toggle{width:100%;padding:var(--spacing-base);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-base);background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text);font-size:var(--font-size-base);line-height:1.6;transition:background var(--transition-fast)}.article-disclaimer-toggle:hover{background:var(--color-hover-bg)}.article-disclaimer-toggle:active{background:var(--color-active-bg)}.article-disclaimer-toggle span{flex:1}.article-disclaimer-toggle em{font-style:italic}@media (max-width: 768px){.article-disclaimer{margin:0 0 var(--spacing-base)}.article-disclaimer-toggle{padding:.75rem;font-size:var(--font-size-sm)}}a:visited{color:inherit}.mw-body a,.mw-body a:visited{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.mw-body a:hover{color:var(--color-primary-hover);text-decoration:underline}.article-disclaimer-toggle a,.article-disclaimer-toggle a:visited{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.article-disclaimer-toggle a:hover{color:var(--color-primary-hover);text-decoration:underline}.recent-articles{margin-top:var(--spacing-xl);width:100%;max-width:var(--max-width-content)}.recent-articles h2{font-family:var(--font-family-serif);font-size:1.5em;margin-bottom:var(--spacing-base);color:var(--color-text)}.recent-articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-base);width:100%}.recent-article-card{position:relative;aspect-ratio:1;border:none;border-radius:8px;overflow:hidden;cursor:pointer;padding:0;background:var(--color-background);transition:border-color var(--transition-base)}.recent-article-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid transparent;border-radius:8px;z-index:1;transition:border-color var(--transition-base);pointer-events:none}.recent-article-card:hover:before{border-color:var(--color-primary)}.recent-article-card.no-image{background:none}.recent-article-card.no-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,var(--color-primary),var(--color-primary-hover));filter:brightness(.4);transition:filter var(--transition-base);z-index:0}.recent-article-card.no-image:hover:after{filter:brightness(1)}.recent-article-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.recent-article-card[data-has-image=true]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;transition:opacity var(--transition-base);z-index:1}.recent-article-card[data-has-image=true]:hover:after{opacity:0}.recent-article-content{position:relative;z-index:2;padding:var(--spacing-base);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-white);text-align:center}.recent-article-card[data-has-image=true] .recent-article-content{transition:opacity var(--transition-base)}.recent-article-card[data-has-image=true]:hover .recent-article-content{opacity:0}.recent-article-content h3{margin:0;font-size:1.4em;line-height:1.2;font-weight:600;color:var(--color-white);font-family:var(--font-family-base)}.recent-article-content .grade-level{font-size:1.1em;line-height:1.2;font-weight:500;opacity:.9;color:var(--color-white);font-family:var(--font-family-base)}@media (max-width: 768px){.recent-articles{margin-top:var(--spacing-lg);padding:0 var(--spacing-base)}.recent-articles h2{font-size:1.25em;margin-bottom:var(--spacing-base)}.recent-articles-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-base)}.recent-article-card{aspect-ratio:1}.recent-article-content h3{font-size:1.2em}}
