:root{color-scheme:light;--blue:#00219a;--cyan:#0095df}*{box-sizing:border-box}body{margin:0;background:#fff;color:#07166b;font-family:'DM Sans',Arial,sans-serif}header,main,footer{max-width:1440px;margin:auto;padding:20px 32px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:3px solid var(--cyan)}a{color:var(--blue);text-underline-offset:4px}.brand{font-size:24px;font-weight:800;text-decoration:none}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:.2em}h1{font-family:'Gelasio',Georgia,serif;font-size:clamp(28px,4vw,48px);line-height:1.1;margin:12px 0}.intro{max-width:880px;line-height:1.55}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0}button,.download{border:1px solid var(--blue);padding:10px 14px;min-height:44px;background:white;color:var(--blue);font:inherit;border-radius:3px}button{cursor:pointer}.download{margin-left:auto;background:var(--blue);color:white;text-decoration:none;font-weight:bold}.download span{font-size:12px;font-weight:normal}output{min-width:65px;text-align:center}button:hover{background:#e9f4ff}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}#hd-viewport{height:65dvh;min-height:280px;overflow:auto;background:#e8edf5;border:1px solid #99abd1;cursor:grab;overscroll-behavior:contain}#hd-viewport:active{cursor:grabbing}#hd-world{position:relative;overflow:hidden}#hd-grid{position:absolute;top:0;left:0;transform-origin:0 0}#hd-grid img{position:absolute;max-width:none;display:block;user-select:none}#hd-status{font-size:14px;min-height:24px}footer{border-top:1px solid #c7d5e8;font-size:14px}@media(max-width:600px){header,main,footer{padding:16px 20px}.brand{font-size:20px}header{align-items:flex-start;flex-direction:column;gap:10px}.download{margin:0;width:100%}#hd-viewport{height:58dvh}.intro{font-size:15px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.brand img{width:280px;max-width:100%;height:auto;display:block}.hd-caption{white-space:pre-line;line-height:1.5;font-size:14px}@media(max-width:600px){.brand img{width:240px}}
