:root{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;font-synthesis:none;--palette-row-height:clamp(34px,3.2vw,48px);--board-bg:#777;--board-fg:#fff;--board-dot:rgba(255,255,255,.14)}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:inherit}button{cursor:pointer}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:4px}[hidden]{display:none!important}
.skip-link{position:fixed;z-index:40;top:10px;left:10px;padding:12px;background:#fff;color:#000;transform:translateY(-160%)}.skip-link:focus{transform:none}
.masthead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;background:#fff;flex:0 0 auto;min-height:70px}.wordmark,.palette-link{font:13px/1.4 'Courier New',monospace;letter-spacing:2px;text-decoration:none;padding:4px 0}.palette-link{font-size:12px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:12px 28px 30px}.intro h1{font-size:clamp(2.375rem,calc(7.2vw - 2px),6.875rem);text-wrap:balance;font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:0}.intro p{font-size:1rem;line-height:1.5;margin:0 0 5px}.changing-grey{color:#222;animation:grey-tones 8s ease-in-out infinite}@keyframes grey-tones{0%,100%{color:#222}25%{color:#8e8e8e}50%{color:#555}75%{color:#919191}}
.palette-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:48px;padding:10px 28px;border-top:1px solid #e6e6e6;font:12px/1.4 'Courier New',monospace;letter-spacing:1px}.shade-readout{display:flex;align-items:center;gap:10px}.hex-input{appearance:none;width:7ch;max-width:100%;padding:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:text;outline:none}.hex-input:hover{box-shadow:0 1px 0 currentColor}.hex-input:focus{outline:1px solid currentColor;outline-offset:5px}.shade-readout .hex-input{font:14px/1.4 'Courier New',monospace;letter-spacing:0}#shade-chip{width:17px;height:17px;background:#fff;border:1px solid #aaa}.palette-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr))}.swatch{height:var(--palette-row-height);display:block;position:relative;background:var(--shade);color:var(--swatch-ink);box-shadow:inset -1px -1px 0 #8882;text-decoration:none}.swatch:after{content:'';position:absolute;inset:4px;border:1px solid transparent}.swatch:hover:after,.swatch:focus-visible:after{border-color:currentColor}.swatch:focus-visible{outline-offset:-3px}.palette-end{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;height:var(--palette-row-height);padding:0 28px;font:12px/1.4 'Courier New',monospace;letter-spacing:1px}
body[data-view=board]{height:100dvh;display:flex;flex-direction:column;overflow:hidden}body[data-view=board] main{flex:1;min-height:0}#board{position:relative;width:100%;height:100%;background:var(--board-bg);color:var(--board-fg);overflow:hidden}.canvas{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;background-image:radial-gradient(circle,var(--board-dot) 1px,transparent 1px);background-size:24px 24px}.canvas:focus-visible{outline:2px solid var(--board-fg);outline-offset:-4px}.canvas.is-panning{cursor:grabbing}.stage{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.board-heading{position:absolute;top:26px;left:28px;pointer-events:none;max-width:calc(100% - 56px)}.board-hex-navigation{width:fit-content;max-width:100%;margin:0 0 9px;pointer-events:auto}.board-hex-navigation .hex-input{display:block;font:400 clamp(2rem,4.5vw,4rem)/1.1 'Courier New',monospace;letter-spacing:-.06em}.board-heading p{font:12px/1.5 'Courier New',monospace;letter-spacing:1px;margin:0}.board-message{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(380px,calc(100% - 40px));text-align:center;pointer-events:none}.board-message h2{font-size:1.5rem;line-height:1.2;font-weight:400;letter-spacing:-.03em;margin:0 0 12px}.board-message p{font-size:1rem;line-height:1.6;margin:0}.board-message button{pointer-events:auto;margin-top:16px;background:transparent;color:inherit;border:1px solid currentColor;padding:10px 16px;min-height:44px}.canvas-tools{position:absolute;z-index:3;left:50%;bottom:45px;transform:translateX(-50%);display:flex;align-items:center;gap:3px;padding:5px;background:#fff;color:#111;box-shadow:0 2px 14px #0002;border:1px solid #ddd;border-radius:3px;white-space:nowrap}.canvas-tools button{height:38px;min-width:38px;border:0;border-radius:0;background:#fff;color:#111;font-size:22px;line-height:1}.canvas-tools button:hover{background:#ededed}.canvas-tools button:disabled{opacity:.3;cursor:default}.canvas-tools output{width:58px;text-align:center;font:13px/1.5 'Courier New',monospace}.canvas-tools #fit-view{font-size:14px;padding:0 12px}.tool-divider{height:18px;width:1px;background:#ddd;margin:0 5px}.canvas-hint{position:absolute;bottom:12px;left:10px;right:10px;text-align:center;margin:0;font-size:12px;line-height:1.5;pointer-events:none}.touch-hint{display:none}.board-item{position:absolute;display:block;appearance:none;overflow:visible;padding:0;margin:0;border:0;background:transparent;transform-origin:50% 50%;cursor:inherit;touch-action:none}.board-item img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 6px 12px #0002)}.board-item:focus-visible{outline:2px solid var(--board-fg);outline-offset:8px}.board-item .item-caption{position:absolute;z-index:1;left:0;top:calc(100% + 6px);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;color:#111;font:12px/1.4 Arial,Helvetica,sans-serif;padding:4px 6px;opacity:0;pointer-events:none}.board-item:hover,.board-item.is-hovered,.board-item:focus-visible{z-index:2}.board-item:hover .item-caption,.board-item.is-hovered .item-caption,.board-item:focus-visible .item-caption{opacity:1}.item-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(420px,100%);max-width:100%;height:100dvh;max-height:100dvh;border:0;padding:70px 28px 32px;background:#fff;color:#111;box-shadow:-8px 0 40px #0002;overflow-y:auto}.item-dialog::backdrop{background:#0003}.close-dialog{position:absolute;right:17px;top:15px;width:44px;height:44px;border:0;background:#fff;font-size:30px;font-weight:400;line-height:1;color:#111}.item-image-wrap{width:100%;background:#f6f6f6}.item-image-wrap img{display:block;width:100%;max-height:40dvh;object-fit:contain}.item-copy{padding-top:24px;font-family:'Courier New',monospace}.item-shade{font:12px/1.5 'Courier New',monospace;margin:0 0 14px;color:#666}.item-copy #item-description{font-size:1rem;line-height:1.65;margin:0 0 20px;overflow-wrap:anywhere}.item-copy #item-description p{margin:0;white-space:pre-line}.item-copy #item-description p+p{margin-top:1.25em}.item-copy a{display:inline-block;font-size:1rem;padding:10px 0;text-underline-offset:4px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.noscript-message{position:absolute;top:35%;left:20px;right:20px;text-align:center}.not-found{padding:12vh 28px}.not-found h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:400;letter-spacing:-.05em}.not-found p,.not-found a{font-size:1rem;line-height:1.6}
@media(max-width:767px){:root{--palette-row-height:48px}.masthead{padding:18px;min-height:64px}.wordmark{font-size:12px;letter-spacing:1.8px}.intro{flex-direction:column;align-items:flex-start;gap:18px;padding:14px 18px 28px}.intro h1{font-size:clamp(2.375rem,calc(12.5vw - 2px),4.375rem)}.intro p br{display:none}.intro p br:after{content:' '}.palette-meta{padding:12px 18px}.shade-readout .hex-input{font-size:16px}.palette-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.palette-end{padding:0 18px}.board-heading{left:18px;top:22px;max-width:calc(100% - 36px)}.board-hex-navigation .hex-input{font-size:2.5rem}.canvas-tools{bottom:46px}.canvas-tools button{height:44px;min-width:44px}.canvas-hint{font-size:12px}}
@media(max-width:351px){.palette-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wordmark{letter-spacing:1px}.intro h1{font-size:2.375rem}.intro p{max-width:100%}.canvas-tools{gap:0}.canvas-tools output{width:52px}}
@media(hover:none){.mouse-hint{display:none}.touch-hint{display:inline}.swatch:hover:after{border-color:transparent}}
.narf-hopper{position:absolute;inset:6px;display:grid;place-items:center;font:500 14px/1 'Courier New',monospace;letter-spacing:-.03em;color:var(--swatch-ink);pointer-events:none;user-select:none;white-space:nowrap;z-index:1}
@media(prefers-reduced-motion:reduce){.changing-grey{animation:none;color:#666}}

.palette-end>span:last-child{justify-self:end}.social-links{display:flex;align-items:center;justify-content:center;gap:8px}.social-link{display:grid;place-items:center;width:44px;height:var(--palette-row-height);color:#777;text-decoration:none}.social-link:hover,.social-link:focus-visible{color:#444}.social-link svg{display:block}

.item-image-wrap.is-multipage{background:transparent}.item-image-wrap.is-multipage img{max-height:none;height:auto}.item-image-wrap.is-multipage img+img{margin-top:12px}

@font-face{font-family:'UnifrakturMaguntia';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/UnifrakturMaguntia-Regular.ttf') format('truetype')}.item-date{display:block;margin:24px 0 0;padding:0;text-align:right;color:#777;font:400 18px/1.4 'UnifrakturMaguntia','Old English Text MT',serif;letter-spacing:.01em}

.item-copy #item-description a{display:inline;padding:0;font:inherit;text-underline-offset:3px}
