.word-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 20px}.word-gallery figure{margin:0;min-width:0}.word-art{display:block;width:100%;border:0;padding:0;background:white}.word-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.word-gallery figcaption{font-size:14px;line-height:1.5;margin-top:12px}.word-gallery em,#word-caption em{font:italic 1em/1.5 Arial,Helvetica,sans-serif;letter-spacing:normal}#word-viewer{width:min(1000px,94vw)}#word-full{display:block;width:100%;height:70dvh;object-fit:contain}#word-caption{text-align:center;padding:0 20px;font-size:16px}#art-position{font-size:14px}@media(max-width:750px){.word-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}}
[hidden]{display:none!important}.collection{max-width:none!important;padding-top:24px!important}.collection h1{font-size:clamp(34px,4vw,60px);margin:24px 0 22px}.explore-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.explore-bar p{font-size:14px;color:var(--muted);margin:0}.view-switch{display:flex;gap:4px;background:#e9e9e9;padding:4px;border-radius:24px}.view-switch button{border:0;background:none;border-radius:20px;padding:8px 20px;font-size:14px}.view-switch button[aria-pressed=true]{background:var(--ink);color:white}.canvas-stage{position:relative;height:clamp(360px,68dvh,880px);background:#eeeef0;overflow:hidden;border-radius:4px}.canvas-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-4px}.canvas-stage canvas.dragging{cursor:grabbing}.canvas-tools{position:absolute;bottom:20px;right:20px;display:flex;gap:5px}.canvas-tools button{border:1px solid #d5d5d5;border-radius:24px;background:#fff;padding:10px 16px;min-width:44px;min-height:44px;font-size:14px;box-shadow:0 2px 12px #00000009}.canvas-tools button:hover{background:#191919;color:white}.canvas-guide{position:absolute;left:20px;bottom:30px;color:#646464;font-size:13px;pointer-events:none}#canvas-tooltip{position:absolute;max-width:260px;padding:10px 14px;background:#191919;color:#fff;font-size:14px;line-height:1.4;border-radius:6px;pointer-events:none;box-shadow:0 5px 20px #0002}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:750px){.explore-bar{align-items:center}.explore-bar p{max-width:150px}.canvas-stage{height:65dvh;min-height:380px}.canvas-guide{left:12px;bottom:76px;font-size:12px}.canvas-tools{bottom:14px;right:12px}.view-switch button{padding:8px 14px}}
/* The frame matches the mosaic; gestures stay inside the artwork surface. */
.canvas-stage{width:min(100%,calc(70dvh * 4 / 3));height:auto;min-height:0;aspect-ratio:4/3;margin-inline:auto;background:var(--paper);border-radius:0;border:0;overscroll-behavior:none;touch-action:none;isolation:isolate}.canvas-stage canvas{position:absolute;inset:0;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.canvas-tools{z-index:2}.canvas-guide{background:#ffffffd9;padding:4px 8px;border-radius:3px}.canvas-stage .canvas-tools button{touch-action:manipulation}@media(max-width:750px){.canvas-stage{height:auto;min-height:0;max-height:none;width:100%;aspect-ratio:4/3}.canvas-guide{bottom:64px;font-size:11px}.canvas-tools{bottom:8px;right:8px;gap:3px}.canvas-tools button{padding:8px 12px}.canvas-guide{left:8px}}

/* Canvas entry is a viewport-filling, endlessly repeating artwork surface. */
body.canvas-mode{overflow:hidden;overscroll-behavior:none}
.canvas-mode>header,.canvas-mode>footer,.canvas-mode .collection>.back,.canvas-mode .collection>h1{display:none}
.canvas-mode .collection{margin:0!important;padding:0!important}
.canvas-mode .canvas-stage{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;min-height:0;max-height:none;aspect-ratio:auto;margin:0;border-radius:0}
.canvas-heading{display:flex;align-items:center;gap:18px}.canvas-back{display:none}
.canvas-mode .canvas-back{display:inline-block;white-space:nowrap;font-size:14px;text-decoration:none}
.canvas-mode .explore-bar{position:fixed;z-index:10;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));margin:0;pointer-events:none}
.canvas-mode .canvas-heading,.canvas-mode .view-switch{pointer-events:auto;background:#fffffff2;box-shadow:0 2px 16px #0002;border-radius:24px}
.canvas-mode .canvas-heading{padding:12px 18px}.canvas-mode .explore-bar p{color:#191919;max-width:none}
.canvas-mode .canvas-tools{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}
.canvas-mode .canvas-guide{bottom:max(24px,env(safe-area-inset-bottom));font-size:14px;color:#191919}
#canvas-tooltip{z-index:3}
@media(max-width:700px){.canvas-mode .explore-bar{align-items:flex-start;gap:8px}.canvas-mode .canvas-heading{display:block;padding:10px 14px}.canvas-mode .canvas-heading p{font-size:12px;margin-top:4px}.canvas-mode .canvas-heading p span{display:none}.canvas-mode .view-switch button{min-height:44px;padding:8px 12px}.canvas-mode .canvas-guide{left:12px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 60px));font-size:12px}.canvas-mode .canvas-tools{gap:4px}}

.collection-about{max-width:850px;margin:0 0 36px}.collection-about h2{font-size:18px;font-weight:400}.collection-about p,#haiku-about-dialog>p{font-size:16px;line-height:1.85}.canvas-mode .collection-about{display:none}#haiku-about-dialog{width:min(800px,94vw)}#haiku-about-dialog>p{padding:24px 30px 32px;margin:0}

.about-copy{padding:0 24px 24px;line-height:1.8}.about-copy p{padding:0!important}
