:root{--wiki-paper:#f5f4ef;--wiki-surface:#eeede6;--wiki-input:#f8f7f2;--wiki-line:#d8d7ce}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;--wiki-header-height:64px;scroll-padding-top:calc(var(--wiki-header-height) + 16px)}
body{margin:0;background:var(--wiki-paper);color:#1c1c1c;font:400 17px/1.55 "Source Serif 4",Georgia,serif}
a{color:#1a4ea3;text-decoration:none}a:hover{text-decoration:underline}
code,.tag,.crumbs,.meta,.n{font-family:"JetBrains Mono",ui-monospace,monospace}
.preview{background:#fff7d6;border-bottom:1px solid #e8dca0;font:400 .76rem "JetBrains Mono",monospace;padding:5px 16px;text-align:center}
header.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--wiki-line);background:var(--wiki-surface)}
.brand{display:flex;align-items:center;gap:8px;font:600 1.15rem "Source Serif 4",serif;color:#111}.brand svg{width:28px;height:28px;flex:none}.brand span{font-weight:400;color:#555;margin-left:0;font-size:.95rem}
.find input{font:400 .9rem "Source Serif 4",serif;padding:6px 10px;border:1px solid #bfc4cc;border-radius:3px;width:220px;background:var(--wiki-input)}
.shell{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1180px;margin:0 auto;gap:0}
.side{border-right:1px solid var(--wiki-line);padding:22px 18px 30px 24px;font-size:.92rem}
@media(min-width:821px){.side{position:sticky;top:var(--wiki-header-height);align-self:start;max-height:calc(100vh - var(--wiki-header-height));max-height:calc(100dvh - var(--wiki-header-height));overflow-y:auto}}
.side h4{margin:22px 0 6px;font:600 .72rem "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:#626a73}
.nav{list-style:none;margin:0;padding:0}.nav li{margin:3px 0}.nav li.on>a{font-weight:600;color:#111}.nav.small{font-size:.85rem;line-height:1.35}.nav.small li{margin:5px 0}
main{padding:26px 34px 60px;min-width:0;max-width:880px}
h1{font:600 2rem/1.2 "Source Serif 4",serif;margin:.1em 0 .5em;padding-bottom:.25em;border-bottom:1px solid var(--wiki-line)}
h2{font:600 1.35rem/1.25 "Source Serif 4",serif;margin:1.8em 0 .5em;padding-bottom:.15em;border-bottom:1px solid var(--wiki-line)}
.lead{font-size:1.08rem}.crumbs{font-size:.76rem;color:#626a73;margin:0 0 6px}.crumbs a{color:#626a73}
.meta{font-size:.78rem;color:#626a73;margin:-.2em 0 1em}.n{font-size:.74rem;color:#626a73}
.toc{float:right;margin:0 0 14px 24px;border:1px solid var(--wiki-line);background:var(--wiki-surface);padding:10px 16px;font-size:.88rem}.toc b{font:600 .74rem "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.05em;color:#555}.toc ol{margin:6px 0 0;padding-left:1.2em}
.plain{padding-left:1.2em}.plain li{margin:5px 0}.cols li{break-inside:avoid}
.agl li{margin:5px 0}.st{color:#9a6b00;white-space:nowrap}
.infobox{float:right;width:280px;margin:0 0 14px 26px;border:1px solid var(--wiki-line);background:var(--wiki-surface);font-size:.86rem}.infobox table{width:100%;border-collapse:collapse}.infobox th,.infobox td{padding:6px 10px;border-top:1px solid var(--wiki-line);text-align:left;vertical-align:top}.infobox tr:first-child th,.infobox tr:first-child td{border-top:0}.infobox th{width:38%;font-weight:600;color:#444}
.filters{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:end;margin:14px 0;font-size:.85rem}.filters label{display:grid;gap:3px}.filters input,.filters select{font:400 .88rem "Source Serif 4",serif;padding:5px 8px;border:1px solid #bfc4cc;border-radius:3px;background:var(--wiki-input)}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem}.tbl th{text-align:left;font:600 .72rem "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.04em;color:#555;border-bottom:2px solid var(--wiki-line);padding:6px 8px}.tbl td{padding:6px 8px;border-bottom:1px solid var(--wiki-line);vertical-align:top}.tbl tr:hover td{background:#e9ece8}.tbl td.tag{font:400 .78rem "JetBrains Mono",monospace;white-space:nowrap}
.person{display:flex;gap:16px;align-items:center}.person img{border-radius:4px;filter:grayscale(1);object-fit:cover}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;max-width:1180px;margin:0 auto;padding:16px 24px 30px;border-top:1px solid var(--wiki-line);font:400 .76rem "JetBrains Mono",monospace;color:#626a73}
@media(max-width:820px){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--wiki-line);padding:12px 20px}.side .nav.small{display:block}.nav{display:flex;flex-wrap:wrap;gap:4px 16px}main{padding:20px}.toc,.infobox{float:none;width:auto;margin:0 0 16px}.cols{columns:1}header.top{padding:10px 16px}.brand span{display:none}.find input{width:150px}.tbl th:nth-child(4),.tbl td:nth-child(4),.tbl th:nth-child(3),.tbl td:nth-child(3){display:none}}

/* Shared problem drawings from the main site. */
.wiki-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(40%,250px));gap:24px;align-items:start;margin-top:16px}.wiki-opening-text{min-width:0}.wiki-opening-text>.lead{margin-top:0}.home-rail{min-width:0;margin:0}.home-rail .toc{float:none;width:100%;margin:12px 0 0}.problem-figure{width:100%;margin:0;color:#121417}
@media(max-width:600px){.wiki-opening{gap:12px}.home-rail .toc{padding:8px;font-size:.75rem}.home-rail figcaption{flex-wrap:wrap;gap:6px}#problem-caption{flex-basis:100%}.wiki-opening-text>.lead{font-size:.95rem}}
.problem-art{aspect-ratio:7/5;border:1px solid var(--wiki-line);background-color:var(--wiki-paper);background-image:linear-gradient(#e6e5de 1px,transparent 1px),linear-gradient(90deg,#e6e5de 1px,transparent 1px);background-size:16px 16px}
.problem-art svg{display:block;width:100%;height:100%}
.problem-figure figcaption{display:flex;align-items:center;gap:10px;padding:8px 0}
#problem-caption{flex:1;min-width:0;display:grid;gap:3px;font-size:.82rem;line-height:1.35}
#problem-id{font:400 .74rem "JetBrains Mono",monospace;color:#626a73}
#problem-next{flex:none;width:36px;height:36px;border:1px solid var(--wiki-line);background:var(--wiki-input);color:#555;font-size:1.2rem;cursor:pointer}
#problem-next:hover{border-color:#1a4ea3;color:#1a4ea3}
#problem-next:focus-visible,#problem-caption:focus-visible{outline:2px solid #1a4ea3;outline-offset:3px}
.problem-art .engr .dr{stroke-dasharray:1;stroke-dashoffset:1;animation:wiki-draw 1.2s cubic-bezier(.45,0,.2,1) var(--d) forwards}
.problem-art .engr .fd{opacity:0;animation:wiki-fadein .7s ease var(--d) forwards}
.problem-art .orbit{animation:wiki-spin 90s linear infinite,wiki-fadein 1.2s 2.2s both;opacity:0}
@keyframes wiki-draw{to{stroke-dashoffset:0}}
@keyframes wiki-fadein{to{opacity:1}}
@keyframes wiki-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.problem-art .engr .dr{animation:none;stroke-dashoffset:0}.problem-art .engr .fd,.problem-art .orbit{animation:none;opacity:1}}

/* Reading, navigation, and keyboard access. */
:focus-visible{outline:2px solid #1a4ea3;outline-offset:3px}
.skip{position:fixed;top:8px;left:8px;z-index:30;padding:8px 14px;background:var(--wiki-input);border:2px solid #1a4ea3;transform:translateY(-160%)}
.skip:focus{transform:translateY(0)}
main:focus{outline:none}
.nav-group{margin-top:20px}
.nav-group summary{cursor:pointer;font:600 .72rem "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.04em;color:#555;padding:7px 0}
.page-actions{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.85rem;margin:0 0 20px}
.problem-metadata{float:none;width:100%;margin:0 0 24px}
.problem-metadata th{width:150px}
.problem-statement{min-width:0;overflow-wrap:break-word}
.problem-statement>p:first-child{color:#555;font-size:.9rem}
.problem-statement h2{margin-top:1.5em}
.problem-statement h3{font-size:1.15rem}
.problem-statement li{margin:6px 0}
.problem-statement pre{overflow-x:auto;background:var(--wiki-surface);padding:12px;font-size:.85rem}
.problem-statement table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.problem-statement td,.problem-statement th{border:1px solid var(--wiki-line);padding:6px 10px}
.problem-statement img{max-width:100%;height:auto}
.katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}
.source-credit{font-size:.8rem;color:#626a73;border-top:1px solid var(--wiki-line);padding-top:16px;margin-top:28px}
.mobile-problem-details{display:none}
@media(max-width:820px){
 .nav-group{margin-top:8px}
 .nav-group summary{padding:10px 0}
 .side .nav.small{margin-bottom:10px}
 .side .nav.small a{display:inline-block;padding:4px 0}
 .filters label{max-width:100%;min-width:0}
 .filters select,.filters input{max-width:100%;min-width:0}
 .mobile-problem-details{display:grid;gap:3px;margin-top:5px;font-size:.75rem;line-height:1.35;color:#626a73}
 .tbl{font-size:.85rem;table-layout:fixed}
 .tbl th,.tbl td{padding:8px 4px;overflow-wrap:anywhere}
 .tbl th:first-child{width:66px}.tbl th:nth-child(5){width:42px}.tbl th:nth-child(6){width:44px}
 .tbl td.tag{font-size:.65rem;white-space:normal}
 .tbl th{font-size:.6rem}
 .tbl .st{font-size:.7rem}
 .problem-metadata th{width:110px}
}
