@font-face{font-family:'Shantell Sans';src:url('/fonts/ShantellSans-LowInformality.woff2') format('woff2');font-weight:600 800;font-display:swap}@font-face{font-family:'DM Sans';src:url('/fonts/DMSans-VF.ttf') format('truetype');font-weight:100 1000;font-display:swap}*{box-sizing:border-box}body{margin:0;background:#fff;color:#292d28;font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.5}button,input,a{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #343f30;outline-offset:5px}button{min-height:44px}header{display:flex;align-items:center;justify-content:space-between;padding:26px 42px}.wordmark{text-decoration:none;font-weight:600}.private-label,.eyebrow,.parent{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#62665e}main{max-width:1180px;margin:auto;padding:0 32px}.intro{text-align:center;margin:38px 0 32px}.intro h1{font-family:'Shantell Sans','DM Sans',sans-serif;font-weight:450;letter-spacing:-.06em;font-size:clamp(44px,6vw,68px);line-height:1.1;margin:12px 0}.intro>p:last-child{color:#62665e;margin-top:14px}.tools{max-width:560px;margin:auto}.tools label{font-size:12px;color:#555c50}.search-row{display:flex;border:0}.search-row input{width:100%;min-width:0;min-height:48px;border:0;background:transparent;color:inherit;outline-offset:0;padding:10px 0;font-size:16px}.search-row input::placeholder{color:#6a6f65}.search-row button,.table-meta button{border:0;background:none;padding:6px 12px;text-decoration:underline;text-underline-offset:4px}.table-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#555c50}.instructions{font-size:11px;color:#62665e;text-align:center;margin:20px 0 0}#pile{position:relative;margin:8px auto 0;isolation:isolate}#pile .piece{position:absolute;border:0;background:none;padding:0;min-height:0;touch-action:none;user-select:none;cursor:grab;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.art{display:block;width:92%;height:78%;transform:rotate(var(--rotation));filter:drop-shadow(0 5px 5px #00000012);transition:transform .18s ease,filter .18s ease;pointer-events:none}.art svg{width:100%;height:100%}.caption{display:flex;flex-direction:column;text-align:center;max-width:96%;pointer-events:none;background:#ffffffea;padding:0 5px}.piece-title{font-family:'Shantell Sans','DM Sans',sans-serif;font-size:20px;line-height:1.2;letter-spacing:-.03em}.parent{font-size:9px;margin-bottom:3px}.piece:hover,.piece:focus-visible{z-index:10000!important}.piece:hover .art,.piece:focus-visible .art{filter:drop-shadow(0 9px 8px #0000001f)}#pile .dragging{z-index:10001!important;cursor:grabbing}.dragging .art{transition:none}#empty{text-align:center;padding:48px 16px}.reading-item{max-width:650px;margin:32px auto;padding:20px 0;border-bottom:1px solid #ddd}.reading-item h3{font-family:'Shantell Sans','DM Sans',sans-serif;font-size:30px;font-weight:450}.reading-item:target{outline:2px solid #62665e;outline-offset:10px}footer{text-align:center;padding:24px 20px 36px;font-size:11px;color:#62665e}footer p:first-child{color:#444b3d}footer a{display:inline-block;padding:12px}dialog{border:0;background:#fffefb;color:inherit;padding:54px 36px 30px;width:min(780px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 18px 90px #00000018}dialog::backdrop{background:#f6f6f2a6;backdrop-filter:blur(7px)}body:has(dialog[open]){overflow:hidden}#close{position:absolute;right:20px;top:12px;background:none;border:0;padding:8px 10px;font-size:12px}#close span{font-size:22px;margin-left:8px}#focus-art{width:230px;max-width:70%;margin:0 auto}#focus-art svg{width:100%;display:block}.focus-copy{max-width:550px;margin:auto;text-align:center}.focus-copy h2{font-family:'Shantell Sans','DM Sans',sans-serif;font-size:clamp(30px,5vw,46px);font-weight:450;line-height:1.12;letter-spacing:-.04em;margin:12px 0 18px}.focus-copy>p{overflow-wrap:anywhere}.provenance{font-size:12px;color:#62665e;margin-top:24px}#permalink{font-size:12px;display:inline-block;min-height:44px;padding:12px}#reading h2{font-family:'Shantell Sans','DM Sans',sans-serif;font-weight:450}[hidden]{display:none!important}@media(max-width:540px){header{padding:20px 18px}.private-label{font-size:9px}main{padding:0 16px}.intro{margin:24px 0 28px}.intro h1{font-size:46px}.intro>p:last-child{font-size:13px}.piece-title{font-size:16px}.parent{font-size:8px;letter-spacing:.06em}.instructions{font-size:10px}.caption{max-width:92%}dialog{padding:54px 20px 24px;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}#focus-art{width:180px}.table-meta button{padding-right:0}.search-row button{padding-right:4px}.table-meta{font-size:11px}footer{padding-top:8px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Project filters use the same glass material as the former search field. */
/* Content floats on the page-wide scrim, never on a rectangular panel.
   Opaque scrim is the baseline for unsupported/reduced transparency. */
#focus{background:transparent;box-shadow:none}
#focus::backdrop{background:#f6f6f2;backdrop-filter:none;-webkit-backdrop-filter:none}
#focus .eyebrow,#focus .provenance{color:#4f554b}
#close{width:44px;height:44px;border:0;outline:none;border-radius:50%;padding:11px;display:grid;place-items:center;background:#f2f4ef;box-shadow:0 2px 8px #292d2812}
#close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#close:hover svg,#close:active svg,#close:focus-visible svg{stroke-width:2.8}
#close:focus-visible{box-shadow:0 0 14px 4px #56634d80}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 #focus::backdrop{background:#f6f6f266;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
 #close{background:linear-gradient(180deg,#ffffff94,#e9eee366);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15)}
}
@media(prefers-reduced-transparency:reduce){
 #focus::backdrop{background:#f6f6f2;backdrop-filter:none;-webkit-backdrop-filter:none}
 #close{background:#f2f4ef;backdrop-filter:none;-webkit-backdrop-filter:none}
}
.search-row{position:relative;align-items:center;border:1px solid #dbe0d6;outline:none;border-radius:999px;background:#f2f4ef;box-shadow:0 2px 8px #292d2806}
.search-icon{position:absolute;left:17px;width:19px;height:19px;stroke:#566057;stroke-width:1.8;stroke-linecap:round;pointer-events:none}
.search-row input{border-radius:inherit;padding:10px 18px 10px 48px;outline:none}
.search-row input::placeholder{color:#62685e}
.search-row:focus-within{box-shadow:inset 0 1px 1px #fff,0 0 0 3px #56634d59,0 7px 24px #1c2e241f}
/* Search shares the canvas; the active card rises above it while dragging. */
main{position:relative;isolation:isolate}
.tools{position:absolute;top:60px;left:32px;right:32px;z-index:2}
.instructions{position:absolute;top:12px;left:16px;right:16px;margin:0;z-index:2;pointer-events:none}
#pile{margin-top:0;z-index:1}
#pile:has(.dragging){z-index:3}
#empty{padding-top:230px;min-height:380px}
@media(max-width:540px){.tools{left:16px;right:16px}}
@media(forced-colors:active){.search-row:focus-within,#close:focus-visible{box-shadow:none}.search-row:focus-within input{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}#close:focus-visible{color:Highlight}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .search-row{border-color:#ffffffba;background:radial-gradient(ellipse at 24% 0,#ffffffd9 0,#ffffff58 32%,transparent 65%),linear-gradient(155deg,#ffffffa3 0%,#f7f9f3a3 45%,#dbe5d68c 100%);backdrop-filter:blur(22px) saturate(1.55) brightness(1.04);-webkit-backdrop-filter:blur(22px) saturate(1.55) brightness(1.04);box-shadow:inset 0 1px 1px #ffffffed,inset 0 -1px 1px #8e9c891f,0 1px 2px #ffffffb0,0 7px 20px #1c2e241a,0 20px 44px #1c2e240d}
 .search-row:focus-within{box-shadow:inset 0 1px 1px #ffffffed,0 0 0 3px #56634d59,0 7px 24px #1c2e241f}
}
@media(prefers-reduced-transparency:reduce){.search-row{background:#f2f4ef;border-color:#dbe0d6;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 2px 8px #292d2806}.search-row:focus-within{box-shadow:0 0 0 3px #56634d59}}

/* Shantell Sans headings with DM Sans controls and copy. */
.intro h1,.piece-title,.reading-item h3,#reading h2{font-family:'Shantell Sans','DM Sans',sans-serif;font-weight:500;letter-spacing:-.042em}
.intro h1{line-height:1.05}.piece-title{line-height:1.12}
.private-label,.eyebrow,.parent{font-size:12px;letter-spacing:.07em}
.tools label,.table-meta,.provenance,#permalink,footer{font-size:13px}
@media(max-width:540px){.private-label,.parent,.table-meta{font-size:11px}.instructions{font-size:12px}}

.intro h1,.piece-title,.reading-item h3,#reading h2{font-weight:700;font-variation-settings:'INFM' 0,'BNCE' 0,'wght' 700;letter-spacing:-.025em}
.intro h1{line-height:1.12}
/* A saved first media item becomes the Board card. Keep the cutout until it loads. */
#pile .piece .art{width:100%;height:100%}
#pile .piece.has-media .art{position:relative;display:flex;align-items:flex-end;justify-content:center;filter:none}
#pile .piece .media-preview{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:0;background:transparent;filter:drop-shadow(0 10px 16px #292d2829)}
#pile .piece.has-media:hover .art,#pile .piece.has-media:focus-visible .art{filter:drop-shadow(0 7px 9px #292d2824)}
#pile .piece.focus-restored-from-pointer{outline:none!important}
@font-face{font-family:'Sigmar';src:url('/fonts/Sigmar-Latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.intro h1,.piece-title,.reading-item h3,#reading h2{font-family:'Sigmar','Shantell Sans',sans-serif;font-weight:400;letter-spacing:-.035em;text-transform:uppercase;text-shadow:2px 3px 0 #b6b9b3}
.project-filters{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:0 auto;padding:12px 22px 28px;overflow:visible}
#project-description{max-width:560px;margin:0 auto 22px;padding:0 12px;text-align:center;color:#444b3d;font-size:clamp(15px,2vw,18px);line-height:1.5;text-wrap:balance;animation:project-description-in .3s ease-out both}
#pile .piece.returning{z-index:10002!important;pointer-events:none}
#pile .piece .raised-title{display:none}
#pile .piece.raised .raised-title{position:absolute;top:calc(100% + 8px);left:0;display:block;width:100%;color:#343a30;font:600 clamp(10px,1vw,12px)/1.2 'DM Sans',Arial,sans-serif;text-align:center;text-wrap:balance;overflow-wrap:break-word;pointer-events:none}
#pile .piece.raised[data-id="strava-activity"] .raised-title{font-size:clamp(12px,1.1vw,14px)}
@keyframes project-description-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.project-filter{flex:0 0 auto;min-height:44px;padding:10px 18px;border:1px solid #ffffffc4;border-radius:999px;color:#343a30;background:linear-gradient(155deg,#ffffffdb,#e7eee4a8);box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #82917f24,0 5px 16px #1c2e241b;font:600 13px/1.3 'DM Sans',Arial,sans-serif;white-space:nowrap;transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
.project-filter:hover{transform:translateY(-2px)}
.project-filter[aria-pressed=true]{border-color:#444744;color:#fff;background:linear-gradient(155deg,#6b6d69,#303330);box-shadow:inset 0 1px 1px #ffffff70,0 4px 12px #1c1e1c38}
.project-filter:focus-visible{outline:2px solid #56634d;outline-offset:3px}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.project-filter{background:radial-gradient(ellipse at 22% 0,#ffffffed 0,#ffffff75 42%,transparent 75%),linear-gradient(155deg,#ffffffbf,#e3ecdda1);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5)}.project-filter[aria-pressed=true]{background:radial-gradient(ellipse at 22% 0,#ffffff45,transparent 65%),linear-gradient(155deg,#666965e8,#303330ed)}}
@media(prefers-reduced-transparency:reduce){.project-filter{background:#f2f4ef;backdrop-filter:none;-webkit-backdrop-filter:none}.project-filter[aria-pressed=true]{background:#343734}}
@media(max-width:540px){.tools{top:0}.project-filters{gap:8px;padding-top:0}.project-filter{padding:9px 12px;font-size:12px}#pile .piece{transition:filter .35s ease,opacity .35s ease}#pile.project-selected .piece:not(.raised):not(.dragging):not(.returning){filter:blur(7px);opacity:.3;pointer-events:none}}
