html:has(.work-page) { height: auto; min-height: 100%; overflow-x: hidden; overflow-y: auto; background: #d4d4d8; }
body.work-page { height: auto; min-height: 100vh; overflow: visible; background: #d4d4d8; }
.board { position: relative; width: 100%; isolation: isolate; }
.note { position: absolute; margin: 0; padding: 0; border: 0; background: transparent; user-select: none; -webkit-user-select: none; touch-action: none; cursor: grab; }
.note img { display: block; width: 100%; height: auto; pointer-events: none; -webkit-user-drag: none; }
.note:focus-visible { outline: 2px solid #111; outline-offset: 5px; }
.note.dragging { cursor: grabbing; }
.note[data-project] { cursor: grab; }
/* Playground with no cards yet: a full-screen COMING SOON instead of an empty board. */
.coming-soon { position: fixed; inset: 0; display: grid; place-items: center; margin: 0; padding: 16px; font-family: 'Inter Tight', Arial, Helvetica, sans-serif; font-size: clamp(21px, 5.67vw, 110px); font-weight: 800; line-height: 1; letter-spacing: -.07em; word-spacing: .15em; text-align: center; white-space: nowrap; color: #000; pointer-events: none; }
.coming-soon[hidden] { display: none; }
body.is-empty .board { height: 0 !important; }
/* Playground: black page, set apart from the grey Works/About pages. */
html:has(.playground-page), body.playground-page { background: #000; }
.playground-page .coming-soon { color: #fff; }
