:root{--blue:#0780c6;--blue-dark:#055f93;--grey:#606060;--ink:#1d1d1f;--muted:#6b6b70;--rule:#e2e2e6;--panel:#f6f6f8;--charcoal:#231f20;--measure:46rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#fff;color:var(--ink);font:1.0625rem/1.65 '-apple-system',BlinkMacSystemFont,segoe ui,open sans,Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--measure);margin:0 auto;padding:0 16px}.masthead{border-bottom:3px solid var(--blue);background:#fff}.masthead-inner{max-width:64rem;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.wordmark{font-weight:700;font-size:1.6rem;letter-spacing:-.02em;line-height:1}.wordmark:hover{text-decoration:none}.w-data{color:var(--blue)}.w-genetics{color:var(--grey)}.masthead nav{display:flex;gap:20px;font-weight:600}.masthead nav a{color:var(--grey)}.masthead nav a[aria-current]{color:var(--blue)}.hero{position:relative;margin:24px 0 8px;border-radius:6px;overflow:hidden}.hero img{display:block;width:100%;height:auto}.hero-text{position:absolute;inset:auto 0 0 0;padding:18px 20px;background:linear-gradient(transparent,rgba(255,255,255,.92) 45%)}.wordmark.big{font-size:clamp(2rem,7vw,3.2rem);margin:0}.tagline{margin:4px 0 0;color:var(--grey);font-size:1.1rem}.home-intro{font-size:1.15rem}.home-links{display:flex;flex-wrap:wrap;gap:8px 24px;font-weight:600}.section-title{font-size:1.25rem;border-bottom:1px solid var(--rule);padding-bottom:6px;margin-top:2.2em}.section-title small{color:var(--muted);font-weight:400;font-size:.85rem;margin-left:8px}.more{text-align:right;font-weight:600}.cards{list-style:none;padding:0;margin:16px 0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.cards a{display:flex;flex-direction:column;gap:6px;color:var(--ink);height:100%}.cards a:hover{text-decoration:none}.cards a:hover span{color:var(--blue)}.cards img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;background:var(--panel);border:1px solid var(--rule)}.cards span{font-weight:600;line-height:1.3}.cards time{color:var(--muted);font-size:.85rem}.years{display:flex;flex-wrap:wrap;gap:6px 14px;font-weight:600;margin:8px 0 0}.post-header{margin:32px 0 24px;border-bottom:1px solid var(--rule)}.post-header h1{font-size:clamp(1.8rem,5vw,2.4rem);line-height:1.15;margin:0 0 6px;letter-spacing:-.01em}.post-date{color:var(--muted);margin:0 0 14px}.post-body{overflow-wrap:break-word}.post-body h2{font-size:1.45rem;margin:1.8em 0 .5em;line-height:1.25}.post-body h3{font-size:1.15rem;margin:1.5em 0 .4em}.post-body p,.post-body .row{margin:0 0 1em}.post-body img,.post-body video,.post-body canvas,.post-body iframe{max-width:100%;height:auto}.post-body iframe{aspect-ratio:16/9;width:100%;border:0}.post-body .text-center,.post-body center{text-align:center}.post-body .text-center img,.post-body center img{display:inline-block}.post-body font[size="5"],.post-body font[size="6"],.post-body font[size="7"]{font-size:1.25em}.post-body blockquote{margin:1em 0;padding:.2em 1em;border-left:4px solid var(--rule);color:#333}.post-body pre{background:var(--panel);padding:12px;overflow-x:auto;border-radius:4px;font-size:.9em}.post-body code{font-size:.92em}.post-body table{border-collapse:collapse;max-width:100%;margin:0 auto 1em}.post-body .table-scroll{overflow-x:auto;margin:0 0 1em}.post-body td,.post-body th{vertical-align:top;padding:4px 8px}.post-body table.data td,.post-body table.data th{border-bottom:1px solid var(--rule)}.post-body img.dark-art{filter:invert(1)hue-rotate(180deg)}.post-body .dark-panel{background:var(--charcoal);padding:12px;border-radius:6px;display:inline-block}.post-body details.solution{border:1px solid var(--rule);border-radius:6px;padding:0 16px;margin:1.5em 0}.post-body details.solution>summary{cursor:pointer;font-weight:700;color:var(--blue);padding:12px 0;list-style:none}.post-body details.solution>summary::before{content:"▸ "}.post-body details.solution[open]>summary::before{content:"▾ "}.post-body details.solution[open]{padding-bottom:8px}.postnav{margin:48px 0 0;border-top:3px solid var(--blue);padding-top:16px}.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:16px}.prevnext a{display:flex;flex-direction:column;font-weight:600;color:var(--ink)}.prevnext a span{color:var(--blue);font-size:.85rem;font-weight:700}.prevnext .next{text-align:right;grid-column:2}.random h2{font-size:1.1rem;margin:32px 0 0}.site-footer{margin-top:64px;padding:24px 0 40px;border-top:1px solid var(--rule);color:var(--muted);font-size:.9rem}.site-footer p{margin:0 0 6px}@media print{.masthead nav,.postnav,.site-footer{display:none}.post-body details.solution>summary{display:none}}.post-body font[face]{font-family:inherit}.post-body font[size="1"]{font-size:.8em}.post-body font[size="2"]{font-size:.92em}.post-body font[size="3"],.post-body font[size="4"]{font-size:1em}.in-memoriam{font-size:1.05rem;font-weight:600;color:var(--grey);letter-spacing:.02em}.about-photo{float:right;margin:4px 0 12px 20px;width:40%;max-width:200px}.about-photo img{width:100%;height:auto;border-radius:6px}@media(max-width:480px){.about-photo{float:none;margin:0 auto 16px;width:60%}}.layout-responsive .post-body canvas{background:var(--charcoal);border-radius:4px}.post-body font[color=gold i],.post-body font[color=yellow i],.post-body font[color="#ffff00" i],.post-body font[color="#ffd700" i]{color:#a87a00}.post-body font[color=lime i],.post-body font[color="#00ff00" i]{color:#1a8a1a}.post-body font[color=cyan i],.post-body font[color=aqua i]{color:#00808a}.post-body font[color=white i],.post-body font[color="#ffffff" i]{color:var(--ink)}.site-footer .support{margin-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.site-footer .support p{margin:0}.post-body .dg-results{margin:8px 0 20px;padding:10px 14px;border:1px solid var(--rule);border-radius:6px;background:var(--panel);font-family:ui-monospace,Menlo,monospace;font-size:.95rem;max-height:28rem;overflow:auto}.post-body .dg-results p.main{font-family:inherit}.post-body .dg-flip td{word-break:break-all;font-size:.85rem;width:50%}.game-status{background:var(--panel);border-left:4px solid var(--blue);padding:8px 12px;font-weight:600}.game-note{color:var(--muted);font-size:.95rem}.post-body .video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:6px}.contact-email{font-size:1.2rem;font-weight:600}