:root{--ink:#494638;--paper:#f6f0df;--hand:'Instrument Sans',Arial,sans-serif;--serif:'Instrument Sans',Arial,sans-serif;--sans:'Instrument Sans',Arial,sans-serif;--mono:'IBM Plex Mono',monospace}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:13px/1.5 var(--sans);background:#d9c7a6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid #305c63;outline-offset:7px}button[hidden]{display:none!important}.beach{position:relative;height:100svh;min-height:700px;overflow:hidden;isolation:isolate}#shore{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.beach-title{position:absolute;top:7%;left:46%;pointer-events:none}.beach-title p{font-size:9px;letter-spacing:2px;margin:12px 0 0;color:#766c56}.beach-title h1{font:76px/.95 var(--serif);letter-spacing:-2px;margin:0;color:#635c48;text-shadow:0 1px 0 #ffefce80}.beach-title h1 span{font:37px var(--hand);display:inline-block;transform:rotate(-8deg);vertical-align:top;margin:0 0 0 7px}.finds{position:absolute;inset:0}.found{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--angle));padding:0;touch-action:none;user-select:none;cursor:grab;transition:filter .25s,scale .25s;filter:drop-shadow(2px 5px 3px #65543b55);background:none;transform-origin:center;will-change:transform}.found:hover,.found:focus-visible{filter:drop-shadow(6px 15px 7px #65543b66);scale:1.045}.found.dragging{cursor:grabbing;filter:drop-shadow(12px 28px 12px #493d3455);scale:1.08;z-index:10}.found.picked{visibility:hidden}.postcard{width:clamp(205px,22vw,310px)}.postcard-face{display:block;padding:9px 9px 12px;background:#ede2c8;border:1px solid #dfcfad;box-shadow:inset 0 0 18px #a9956c33}.postcard-face>img{width:100%;display:block;aspect-ratio:1.58;object-fit:cover;mix-blend-mode:multiply;pointer-events:none}.postcard-writing{display:block;font:25px var(--hand);margin:7px 0 0}.tiny{display:block;font-size:6px;letter-spacing:1.7px;margin-top:5px;color:#786a51}.sand-dust{position:absolute;bottom:-2px;left:-3px;right:-3px;height:30%;pointer-events:none;background:linear-gradient(6deg,#c5af88a1,transparent 55%),radial-gradient(ellipse at 98% 100%,#c5af88 0,transparent 45%);mask-image:linear-gradient(0deg,#000,transparent)}.buried .sand-dust{height:55%;background:linear-gradient(12deg,#c5af88,transparent 53%),radial-gradient(ellipse at 0 100%,#c5af88 0,transparent 65%)}.dragging .sand-dust{opacity:0}.polaroid{width:clamp(135px,13.5vw,195px);background:#eae5d5;padding:9px 9px 0;box-shadow:inset 0 0 15px #b5a38133}.photo-image{display:block;aspect-ratio:1;background:#8e9990;overflow:hidden;pointer-events:none;position:relative}.photo-image>img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.photo-image.empty{background:linear-gradient(135deg,#6e7b74,#a3aaa0);box-shadow:inset 0 0 18px #354d4544;display:flex;align-items:center;justify-content:center;color:#d5dac8}.photo-image.empty>span{font-size:25px;opacity:.6}.photo-writing{display:block;font:23px var(--hand);padding:9px 0 11px;color:#686457}.photo-1{width:clamp(120px,11vw,165px)}.photo-2{width:clamp(120px,11.5vw,170px)}.bottle{width:clamp(65px,7vw,95px);filter:drop-shadow(6px 8px 3px #554c3c55)}.bottle svg{width:100%;height:auto;display:block}.object-label{position:absolute;left:50%;top:calc(100% + 16px);white-space:nowrap;transform:translateX(-50%) rotate(calc(var(--angle) * -1));font-size:10px;background:#f7f1dfed;padding:5px 10px;border-radius:3px;opacity:0;transition:opacity .2s;pointer-events:none}.found:hover .object-label,.found:focus-visible .object-label{opacity:1}.dragging .object-label{opacity:0!important}.shell{position:absolute;width:40px;filter:drop-shadow(2px 3px 2px #63503877);pointer-events:none}.shell-one{left:39%;top:49%;transform:rotate(-43deg)}.shell-two{width:24px;left:87%;top:86%;transform:rotate(80deg)}.pebble{position:absolute;pointer-events:none;border-radius:45% 55% 35% 55%;background:radial-gradient(ellipse at 30% 25%,#9c9c87,#6d7064 65%,#52594f);box-shadow:2px 3px 3px #65543b77}.pebble-one{left:75%;top:48%;width:16px;height:11px;transform:rotate(25deg)}.pebble-two{left:39%;top:85%;width:10px;height:7px}.shore-controls{position:absolute;left:30px;right:30px;bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:10px}.shore-controls>div{display:flex;align-items:center;gap:25px}.shore-controls button{padding:7px 0;background:none;border-bottom:1px solid #615d4840;font-size:10px}.shore-controls>div:first-child{background:#e9e7d0e0;border:1px solid #ffffff55;padding:3px 15px;border-radius:30px;box-shadow:0 2px 10px #2348480d;backdrop-filter:blur(10px)}.shore-controls>div:first-child button{border:0}.shore-controls button span{opacity:.5;margin-left:5px}.byline{opacity:.65}
body:has(dialog[open]){overflow:hidden}dialog::backdrop{background:#273c3655;backdrop-filter:blur(7px)}#inspect{background:transparent;border:0;padding:0;color:var(--ink);width:min(850px,100%);max-width:100%;max-height:calc(100svh - 20px);overflow-y:auto;overflow-x:hidden;outline:0;scrollbar-width:none}#inspect::backdrop{background:#27362c65;backdrop-filter:blur(8px)}.inspect-toolbar{display:flex;align-items:center;justify-content:space-between;color:#fff9e9;padding:0 35px;margin:0 auto 12px;max-width:690px}.inspect-toolbar h2{font-size:12px;font-weight:400;letter-spacing:.3px}.put-back{background:transparent;color:inherit;font-size:11px;padding:12px 0}.put-back span{margin-left:12px}.holding-area{padding:10px 45px 25px;perspective:1600px;display:flex;justify-content:center;align-items:center;min-height:440px;touch-action:none}.held-card{width:560px;height:410px;transform:rotateZ(-3deg) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transform-style:preserve-3d;transition:transform .25s;cursor:grab;position:relative;animation:pickup .45s cubic-bezier(.2,.8,.2,1)}.held-card.tilting{transition:none;cursor:grabbing}.card-rotator{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.held-card.flipped .card-rotator{transform:rotateY(180deg)}.held-front,.held-back{position:absolute;inset:0;backface-visibility:hidden;background:var(--paper);box-shadow:12px 28px 45px #18282155;overflow:hidden}.held-back{transform:rotateY(180deg);pointer-events:none}.held-card.flipped .held-front{pointer-events:none}.held-card.flipped .held-back{pointer-events:auto}.large-postcard{padding:16px;height:100%;background:#f0e7d3;text-align:center}.large-postcard>img{width:100%;height:76%;object-fit:cover;mix-blend-mode:multiply;pointer-events:none}.large-postcard .hand{font:34px var(--hand);margin:10px 0 0}.large-postcard>small{font-size:8px;letter-spacing:1.7px}.postcard-notes{touch-action:pan-y;padding:25px 35px;background:repeating-linear-gradient(0deg,transparent 0 29px,#8e9a8f0d 29px 30px);height:100%;overflow:auto}.small-label{font-size:8px;letter-spacing:2px;color:#927d58;margin:0 0 12px}.postcard-notes h3{font:36px/1 var(--serif);margin:0 0 6px}.role{font-size:9px;color:#7e796d;margin:0}.role a{margin-left:12px}.postcard-notes dl{margin:15px 0}.postcard-notes dt{font:23px var(--hand);margin-top:9px}.postcard-notes dd{font-size:11px;line-height:1.55;margin:2px 0 0;max-width:440px}.postcard-notes>small{font-size:8px;color:#8b806b}.inspect-actions{display:flex;align-items:center;justify-content:center;gap:22px;color:#fff9e9;margin-top:4px}.inspect-actions button{color:inherit;background:#f8f1df1a;border:1px solid #faf1d950;border-radius:30px;padding:10px 19px;font-size:11px;backdrop-filter:blur(8px)}.inspect-actions button:hover{background:#f8f1df30}.handling-hint{font-size:10px;opacity:.65}.held-card.is-photo{width:360px;height:425px}.large-photo{height:100%;padding:17px;background:#f4efe0}.large-photo .photo-image{aspect-ratio:auto;height:calc(100% - 60px)}.large-photo>.photo-writing{font-size:29px;padding:12px 0}.photo-reverse{padding:38px;font:30px/1.6 var(--hand);height:100%;display:flex;flex-direction:column;justify-content:center}.photo-reverse a{font:12px var(--sans)}.photo-reverse small{font:11px/1.8 var(--sans);color:#817861;margin-top:15px}.held-card.is-bottle{width:145px;height:355px}.held-card.is-bottle .held-front{background:none;box-shadow:none;overflow:visible}.held-card.is-bottle .held-front svg{width:100%;height:100%;filter:drop-shadow(18px 25px 9px #12281f55)}.held-card.is-bottle .held-back{display:none}.held-card.is-note{width:360px;height:370px}.bottle-note{height:100%;padding:38px;background:#eee0b9;box-shadow:inset 13px 0 20px #9a824b2b,inset -10px 0 15px #8f753c20}.bottle-note .small-label{margin:0 0 26px}.bottle-note h3{font:43px var(--hand);margin:0 0 17px}.bottle-note p:not(.small-label){font:25px/1.45 var(--hand)}.bottle-note small{font-size:9px;color:#847453}.is-note .held-back{display:none}#photo-status{font-size:10px;text-align:center;color:#fff4d8;margin:14px auto 0;max-width:400px}#photo-status:empty{display:none}.small-dialog{background:#f4edda;border:0;padding:35px;width:440px;max-width:calc(100% - 40px);max-height:85svh;color:var(--ink);box-shadow:8px 20px 45px #223b3c55}.small-dialog h2{font:40px var(--serif);margin:0 0 25px}.small-dialog p{font-size:12px;line-height:1.8;margin:20px 0}.small-dialog small{color:#81775f;font-size:10px}.dialog-close{background:none;position:absolute;right:14px;top:8px;font-size:25px;padding:5px}.object-index{display:grid}.object-index button{background:none;border-top:1px solid #a99d7e55;padding:15px 0;display:flex;gap:16px;font-size:11px;text-align:left}.object-index button span{flex:1}.object-index button:hover{color:#2d706f}@keyframes pickup{from{opacity:0;transform:translateY(100px) rotateZ(10deg) scale(.75)}to{opacity:1;transform:rotateZ(-3deg)}}
@media(min-width:1600px){.beach-title h1{font-size:95px}.postcard{width:340px}.polaroid{width:220px}.photo-1,.photo-2{width:185px}.bottle{width:110px}}
@media(max-width:700px){.beach{min-height:820px;height:100svh}.beach-title{left:9%;top:27%}.beach-title h1{font-size:57px}.beach-title h1 span{font-size:29px}.beach-title p{font-size:7px;letter-spacing:1.5px}.postcard{--x:37%!important;--y:51%!important;width:190px}.photo-0{--x:72%!important;--y:73%!important;width:140px}.photo-1{--x:79%!important;--y:45%!important;width:108px;--angle:15deg!important}.photo-2{--x:24%!important;--y:78%!important;width:112px;--angle:-15deg!important}.bottle{--x:52%!important;--y:89%!important;width:57px;--angle:49deg!important}.postcard-writing{font-size:20px}.postcard-face{padding:7px}.tiny{font-size:5px;margin:5px 0}.photo-writing{font-size:19px;padding:7px 0}.polaroid{padding:7px 7px 0}.shell-one{left:8%;top:62%;width:28px}.shell-two{left:90%;top:86%;width:18px}.pebble-one{left:80%;top:58%}.pebble-two{left:12%;top:92%}.shore-controls{left:18px;right:18px;bottom:14px;font-size:9px}.shore-controls>div{gap:15px}.shore-controls>div:first-child{padding:2px 10px}.shore-controls button{font-size:9px}.byline{display:none}.object-label{display:none}.inspect-toolbar{padding:0 25px;margin-bottom:8px}.inspect-toolbar h2{font-size:11px}.holding-area{padding:15px 20px 25px;min-height:0}.held-card{width:100%;height:420px;max-width:390px;transform:rotateZ(-2deg) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg))}.large-postcard{display:flex;flex-direction:column;justify-content:center;padding:12px}.large-postcard>img{height:65%}.large-postcard .hand{font-size:30px;margin:20px 0 4px}.large-postcard>small{font-size:7px}.postcard-notes{padding:20px 24px}.postcard-notes h3{font-size:34px}.role a{display:block;margin:6px 0}.postcard-notes dl{margin:15px 0}.postcard-notes dt{font-size:24px}.postcard-notes dd{font-size:11px}.inspect-actions{gap:8px;flex-wrap:wrap;padding:0 20px}.inspect-actions button{padding:9px 13px;font-size:10px}.handling-hint{width:100%;text-align:center;margin:0 0 5px;font-size:9px}.held-card.is-photo{width:290px;height:355px}.held-card.is-bottle{width:130px;height:320px}.held-card.is-note{width:300px;height:350px}.bottle-note{padding:28px}.bottle-note h3{font-size:40px}.bottle-note p:not(.small-label){font-size:24px}.photo-reverse{padding:28px}.photo-reverse p{font-size:27px}}
@media(max-height:680px) and (min-width:701px){.holding-area{min-height:0}.held-card{height:360px;width:520px}.held-card.is-photo{height:350px;width:290px}.held-card.is-bottle{height:290px}.postcard-notes{padding:20px 30px}.postcard-notes dt{margin-top:6px}.inspect-toolbar{margin-bottom:0}.inspect-actions{margin-top:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:700px) and (max-height:650px){.held-card{height:350px}.held-card.is-photo{height:325px;width:265px}.held-card.is-bottle{height:275px}.held-card.is-note{height:325px}.holding-area{padding:10px 20px 15px}.inspect-toolbar{margin-bottom:0}.postcard-notes{padding:20px}.large-postcard .hand{font-size:27px}.inspect-toolbar h2{font-size:10px}}
@media(min-width:701px) and (max-height:850px){.beach-title h1{font-size:64px}.postcard{width:245px;--y:43%!important}.photo-0{width:165px}.photo-1{width:140px}.photo-2{width:135px}.bottle{width:75px}}

.shore-controls a{white-space:nowrap;text-decoration:none;border-bottom:1px solid #615d4840;padding:7px 0}.found.settling{transition:none;cursor:grab}

.recap-navigation{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 auto 14px;color:#fff9e9}.recap-navigation[hidden]{display:none}.recap-navigation button{background:transparent;color:inherit;padding:9px 14px;font-size:20px}.recap-navigation select{font:11px var(--sans);color:#fff9e9;background:#465047;border:1px solid #faf1d950;border-radius:4px;padding:10px;max-width:230px}.recap-navigation select option{color:#fff9e9;background:#465047}.postcard::before,.postcard::after{content:"";position:absolute;inset:1px;background:#e7dac0;border:1px solid #cbbc9e;z-index:-1;transform:rotate(3deg) translate(3px,4px)}.postcard::after{transform:rotate(-2deg) translate(-3px,3px)}

/* Quiet typography lets the collected objects carry the character. */
.beach-title h1{font-weight:500;letter-spacing:-4px;font-size:70px}.beach-title h1 span{font:400 23px var(--mono);transform:none;vertical-align:baseline;letter-spacing:-1px;margin-left:10px}.beach-title p{font:9px var(--mono);letter-spacing:1.4px}.postcard-writing{font:500 19px/1.3 var(--sans);letter-spacing:-.5px;margin-top:10px}.tiny{font-family:var(--mono);letter-spacing:.8px}.photo-writing{font:400 14px var(--mono);padding:13px 0}.large-postcard .hand{font:500 29px/1.2 var(--sans);letter-spacing:-1px}.large-postcard>small{display:block;margin-top:9px;font-family:var(--mono);letter-spacing:1px}.large-photo>.photo-writing{font:18px var(--mono);padding-top:17px}.small-dialog h2{font-size:32px;font-weight:500;letter-spacing:-1px}.bottle-note{overflow:auto}.bottle-note h3{font:500 29px/1.1 var(--sans);letter-spacing:-1px}.bottle-note p:not(.small-label){font:17px/1.65 var(--sans)}.photo-reverse{font:24px/1.5 var(--sans)}
.recap-reader[hidden]{display:none}.recap-reader{background:#f7f3e8;color:#343b37;padding:60px 72px 40px;margin:0 25px 22px;box-shadow:0 18px 55px #1c2b2740;outline:none}.reader-heading{padding-bottom:26px;border-bottom:1px solid #c9c6ba}.reader-heading .small-label{font:10px/1.5 var(--mono);color:#737667;letter-spacing:1px;margin:0 0 25px}.reader-heading h3{font:500 clamp(32px,4vw,48px)/1.08 var(--sans);letter-spacing:-1.8px;margin:0 0 28px;max-width:550px}.reader-speaker{font-size:17px;font-weight:500;margin:0 0 4px}.reader-role{font-size:12px;color:#75776d;margin:0}.speaker-links{display:flex;gap:18px;margin-top:16px;font:11px var(--mono)}.speaker-links:empty{display:none}.reader-intro{font:19px/1.65 var(--sans);letter-spacing:-.2px;margin:30px 0 38px;color:#4f594f}.reader-body section{margin:32px 0}.reader-body h4{font:500 19px/1.4 var(--sans);letter-spacing:-.35px;margin:0 0 12px}.reader-body p{font:16px/1.85 var(--sans);margin:0;color:#50564e}.reader-colophon{border-top:1px solid #c9c6ba;margin-top:45px;padding-top:20px;font:10px/1.6 var(--mono);color:#7a7b6f}#inspect.is-reading{width:min(880px,100%);max-height:calc(100svh - 36px);scrollbar-width:thin;scrollbar-color:#f7f3e880 transparent}#inspect.is-reading .holding-area{display:none}#inspect.is-reading .inspect-toolbar{position:sticky;top:0;z-index:5;background:#33483fee;backdrop-filter:blur(16px);padding:5px 28px;max-width:none;margin:0 25px;border-bottom:1px solid #ffffff22}#inspect.is-reading .handling-hint{display:none}#inspect.is-reading .inspect-actions{margin-bottom:15px}#inspect.is-reading .recap-navigation{margin-top:5px}
@media(max-width:700px){.beach-title h1{font-size:48px;letter-spacing:-2.5px}.beach-title h1 span{font-size:18px}.beach-title p{font-size:8px}.postcard-writing{font-size:16px}.photo-writing{font-size:12px;padding:10px 0}.recap-reader{padding:32px 25px;margin:0 10px 18px}.reader-heading h3{font-size:34px;letter-spacing:-1.2px}.reader-heading .small-label{font-size:9px;margin-bottom:20px}.reader-intro{font-size:18px}.reader-body p{font-size:16px;line-height:1.8}.reader-body h4{font-size:19px}.reader-colophon{font-size:9px}#inspect.is-reading{max-height:calc(100svh - 16px)}#inspect.is-reading .inspect-toolbar{margin:0 10px;padding:4px 18px}.large-postcard .hand{font-size:26px}.bottle-note h3{font-size:26px}.bottle-note p:not(.small-label){font-size:16px}.large-photo>.photo-writing{font-size:17px}}
@media(min-width:701px) and (max-height:850px){.beach-title h1{font-size:62px}}

#inspect.is-reading .recap-navigation{position:sticky;top:50px;z-index:4;margin:0 25px;background:#f7f3e8;color:#50594f;padding:3px 0;border-bottom:1px solid #343b3712}#inspect.is-reading .recap-navigation select{background:transparent;color:#50594f;border:0;font-size:12px;max-width:260px}#inspect.is-reading .recap-navigation option{background:#f7f3e8;color:#343b37}#inspect.is-reading .recap-navigation button{font-size:17px;padding:5px 14px}#inspect.is-reading .recap-reader{padding-top:38px}
@media(max-width:700px){#inspect.is-reading .recap-navigation{margin:0 10px;top:48px}#inspect.is-reading .recap-navigation select{max-width:205px;font-size:11px}#inspect.is-reading .recap-reader{padding-top:30px}}

/* Lucide controls and a single pickup-to-reading transition. */
.icon{display:inline-block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex-shrink:0;pointer-events:none}
a>.icon,button>.icon{margin-left:6px}.recap-navigation button>.icon,.dialog-close>.icon,.photo-image .icon{margin:0}.dialog-close .icon{width:21px;height:21px}.photo-image.empty .icon{width:22px;height:22px}.speaker-links a,.inspect-actions button,.put-back{display:inline-flex;align-items:center;justify-content:center;gap:5px}.put-back .icon{width:15px;height:15px}.recap-navigation select{appearance:none;padding-right:26px}.recap-navigation>svg{width:13px;height:13px;margin-left:-35px;margin-right:13px}.recap-navigation button{min-width:40px;min-height:40px}.object-index button>.icon{margin-left:0}#inspect.is-reading .inspect-actions{display:none}#inspect.is-reading{transform-origin:center;scrollbar-width:thin}#inspect.is-reading::backdrop{background:#263b3340;backdrop-filter:blur(3px)}#inspect.is-reading .inspect-toolbar{background:#f7f3e8;color:#526052;border-bottom:1px solid #d5d3c7}#inspect.is-reading .recap-navigation{top:50px}.reader-art{float:right;width:102px;height:82px;object-fit:cover;margin:4px 0 15px 26px;padding:5px;background:#efe7d2;box-shadow:1px 3px 6px #5b503127;transform:rotate(5deg);mix-blend-mode:multiply}.reader-heading h3{max-width:560px}.reader-heading .small-label{padding-top:6px}.reader-heading{display:flow-root}
@media(max-width:700px){.reader-art{width:69px;height:57px;margin:0 0 14px 15px}.reader-heading .small-label{font-size:8px;letter-spacing:.5px;max-width:180px;min-height:38px}.reader-heading h3{clear:both}#inspect.is-reading .recap-navigation{top:48px}}

/* Open sand is always drawable; objects remain clickable and draggable above it. */
#sand-drawing{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:auto;touch-action:none;cursor:url('assets/sand-cursor.svg') 12 3,crosshair}.finds{pointer-events:none}.found{pointer-events:auto}/* Glass sand controls: one small backdrop surface, anchored to the viewport. */
.sand-tools{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:5px;padding:5px;max-width:calc(100vw - 32px);border-radius:999px;color:#263f48;background:linear-gradient(145deg,#ffffff52,#fffdf01a 42%,#ffffff30);border:1px solid #ffffff80;box-shadow:inset 0 1px 1px #ffffffd9,inset 0 -1px 1px #ffffff59,0 0 0 1px #314b4614,0 6px 20px #243c3c24,0 2px 5px #243c3c12;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);isolation:isolate}
.sand-tools::before{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#fff9,transparent 24% 75%,#fff6);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;padding:1px}
.sand-tools button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;padding:0;background:transparent;border-radius:50%;transition:background .18s,box-shadow .18s,transform .18s}
.sand-tools button>.icon{margin:0;width:18px;height:18px}
.sand-tools button:hover:not(:disabled){background:#ffffff70}
.sand-tools button:active:not(:disabled){transform:scale(.94);background:#ffffff8c}
.sand-tools button:disabled{opacity:.32;cursor:default}
.sand-tools button:focus-visible{outline:2px solid #305c63;outline-offset:2px}
#drawing-controls[hidden]{display:none}
.sand-tools #clear-drawing{width:auto;gap:8px;padding:0 13px;border-radius:999px;font-size:11px;white-space:nowrap}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.sand-tools{background:#eeeedeed}}
@media(max-width:700px){.sand-tools{bottom:calc(54px + env(safe-area-inset-bottom,0px))}.sand-tools button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.sand-tools button{transition:none}}
@media(prefers-reduced-transparency:reduce){.sand-tools{background:#eeeee3;-webkit-backdrop-filter:none;backdrop-filter:none}}

.reader-byline{display:flex;align-items:center;gap:22px;clear:both}.speaker-portrait{display:block;width:88px;height:104px;flex-shrink:0;object-fit:cover;object-position:center 30%;padding:5px 5px 13px;background:#fffdf5;box-shadow:1px 3px 7px #4b493322;transform:rotate(-3deg)}.reader-byline .speaker-links{margin-top:12px}.reader-byline .reader-speaker{font-size:19px}.reader-byline>div{min-width:0}
#inspect.is-reading .recap-navigation{justify-content:space-between;gap:6px;padding:7px 28px;top:50px;min-height:58px}#inspect.is-reading .recap-navigation button{font-size:12px;border-radius:4px}#inspect.is-reading .recap-navigation button:hover{background:#e9e4d6}#inspect.is-reading .recap-navigation button:disabled{opacity:.2;cursor:default;background:transparent}#inspect.is-reading #browse-recaps{display:flex;align-items:center;gap:12px;padding:7px 12px;min-height:44px}.mini-postcards{position:relative;display:block;width:30px;height:24px;isolation:isolate;margin-right:2px}.mini-postcards:before,.mini-postcards:after{content:"";position:absolute;inset:0;background:#ebe2ce;border:1px solid #c8c0aa;transform:rotate(-12deg) translate(-3px,-1px);z-index:-1}.mini-postcards:after{transform:rotate(10deg) translate(2px,-1px);background:#f6f0df}.mini-postcards img{display:block;width:100%;height:100%;object-fit:cover;border:2px solid #fffdf5;box-shadow:0 1px 2px #343b3730}.recap-navigation #browse-recaps>.icon{width:13px;height:13px;margin:0;transition:transform .2s}#browse-recaps[aria-expanded=true]>.icon{transform:rotate(180deg)}
.postcard-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px;background:#ede8db;margin:0 25px 22px;padding:40px 45px 50px;box-shadow:0 18px 55px #1c2b2740}.postcard-collection[hidden]{display:none}.collection-card{position:relative;display:flex;flex-direction:column;text-align:left;background:#fffdf5;color:#343b37;padding:10px 10px 15px;box-shadow:1px 3px 7px #514a3328;transform:rotate(var(--card-angle));transition:transform .22s,box-shadow .22s;scroll-margin:130px 0 25px;min-width:0}.collection-card:hover,.collection-card:focus-visible{transform:translateY(-5px) rotate(0);box-shadow:2px 9px 16px #514a3330;z-index:1}.collection-photo{position:relative;display:block;aspect-ratio:1.3;width:100%;background:#e3dccb;overflow:hidden}.collection-portrait{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}.collection-number{position:absolute;left:7px;bottom:7px;background:#fffdf5ec;padding:2px 5px;font:10px var(--mono);color:#4e5d53}.collection-speaker{font-size:14px;font-weight:500;line-height:1.3;margin:12px 3px 4px}.collection-title{font-size:12px;line-height:1.4;margin:0 3px 14px;color:#697166}.collection-date{margin:auto 3px 0;padding-top:6px;font:8px var(--mono);letter-spacing:1px;color:#787c70}
@media(max-width:700px){#inspect.is-reading .recap-navigation{top:48px;padding:6px 12px}.postcard-collection{margin:0 10px 18px;padding:27px 23px 35px;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.collection-card{padding:7px 7px 12px}.collection-speaker{font-size:13px}.collection-title{font-size:11px}.reader-byline{gap:17px}.speaker-portrait{width:76px;height:92px}.reader-byline .reader-speaker{font-size:18px}.reader-byline .reader-role{font-size:11px}.reader-byline .speaker-links{gap:12px;font-size:10px}#inspect.is-reading #browse-recaps{gap:9px;padding:7px 5px;font-size:11px}.mini-postcards{width:25px;height:21px}}

.shore-credit{position:absolute;left:30px;right:30px;bottom:22px;text-align:right;font:10px/1.5 var(--sans);color:#766c56}.shore-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.shore-credit{left:18px;right:18px;bottom:14px;font-size:9px}}

/* Distinguish the note author from the speaker. */
.reader-authorship{clear:both;font:13px/1.6 var(--sans);color:#697166;margin:-8px 0 24px;max-width:480px}

/* A single navigation row; the dialog name remains available to screen readers. */
#inspect.is-reading .inspect-toolbar{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}#inspect.is-reading .inspect-toolbar .put-back{display:none}
#inspect.is-reading .recap-navigation{top:0;display:grid;grid-template-columns:44px minmax(0,1fr) auto minmax(0,1fr) 44px;gap:8px;padding:7px 20px}#inspect.is-reading .recap-navigation[hidden]{display:none}#inspect.is-reading .recap-navigation>button{grid-row:1}#previous-recap{grid-column:1}#inspect.is-reading #browse-recaps{grid-column:3;justify-self:center}#next-recap{grid-column:4;justify-self:end}#close-reader{grid-column:5}.reader-heading h3{max-width:none}.reader-heading .small-label{max-width:none;min-height:0;padding-top:0}.collection-card{scroll-margin-top:85px}
@media(max-width:700px){#inspect.is-reading .recap-navigation{top:0;grid-template-columns:36px minmax(0,1fr) auto minmax(0,1fr) 36px;gap:2px;padding:6px 8px}#inspect.is-reading .recap-navigation button{min-width:36px;padding:5px 8px}#inspect.is-reading #browse-recaps{gap:6px}.mini-postcards{display:none}.reader-authorship{font-size:12px;margin-bottom:24px}.reader-heading .small-label{min-height:0;max-width:none}}

/* The bottle rotates in 3D rather than tilting a flat illustration. */
#inspect.is-bottle-view .holding-area{padding:0 15px 18px;min-height:0}#inspect.is-bottle-view .inspect-toolbar{max-width:620px}.held-card.is-bottle.has-model{width:min(620px,100%);height:min(62svh,530px);transform:none;animation:none;cursor:default}.held-card.has-model .card-rotator{transform:none}.held-card.has-model .held-front{overflow:visible;background:transparent;box-shadow:none}.bottle-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;border-radius:14px}.bottle-canvas.turning{cursor:grabbing!important}.bottle-canvas:focus-visible{outline:1px solid #f7f3e899;outline-offset:-12px}.is-bottle-view .inspect-actions button:disabled{opacity:.55;cursor:wait}.is-bottle-view:has(.is-note) .handling-hint{display:none}.is-bottle-view .is-note{animation:note-reveal .45s ease-out}.is-bottle-view .inspect-actions{margin:8px 0 15px}@keyframes note-reveal{from{opacity:0;transform:translateY(-35px) rotateZ(-8deg) scale(.85)}to{opacity:1;transform:rotateZ(-3deg)}}
@media(max-width:700px){.held-card.is-bottle.has-model{height:min(58svh,470px)}#inspect.is-bottle-view .inspect-toolbar{padding:0 25px}.is-bottle-view .handling-hint{width:auto;margin:0 8px 0 0}.is-bottle-view .inspect-actions{flex-wrap:nowrap}.is-bottle-view .bottle-note p:not(.small-label){font-size:16px;line-height:1.6}}

.reader-byline .speaker-links{gap:8px;margin-top:10px}.speaker-links a{width:32px;height:32px;border-radius:4px;text-decoration:none}.speaker-links a>.icon{width:18px;height:18px;margin:0}.speaker-links a:hover{background:#343b370c}.speaker-links a:focus-visible{outline-offset:2px}

.reader-body p+p{margin-top:16px}.reader-intro+.reader-intro{margin-top:-14px}

.reader-authorship{max-width:none;margin:-6px 0 28px;padding:14px 17px;background:#e9e7da;border-left:2px solid #879780;color:#515c50}
.reader-authorship strong{display:block;color:#343b37;font-size:14px;font-weight:600;margin-bottom:3px}
.reader-authorship span{display:block;font-size:12px;line-height:1.6}
.reader-figure{margin:28px 0 36px}
.figure-image{display:block;background:#fff;padding:24px;text-decoration:none;cursor:zoom-in}
.figure-image img{display:block;width:100%;height:auto;max-height:390px;object-fit:contain}
.reader-figure figcaption{display:flex;flex-direction:column;gap:5px;padding:14px 0 0;font-size:13px;line-height:1.6;color:#65705f}
.figure-label{font:9px/1.5 var(--mono);letter-spacing:.7px;text-transform:uppercase;color:#747c6b}
.reader-figure figcaption strong{font-size:14px;font-weight:500;color:#343b37}
.figure-credits{font-size:11px;margin-top:3px}
.figure-credits a{text-decoration-color:#9ba28e}
@media(max-width:700px){.reader-authorship{padding:12px 14px;margin-bottom:24px}.figure-image{padding:14px}.reader-figure{margin:24px 0 30px}.reader-figure figcaption{font-size:12px}}

/* Inline references keep the paragraph intact and reveal context on demand. */
.inline-mention{display:inline;padding:0;margin:0;border:0;border-radius:2px;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:underline dotted #798475;text-underline-offset:4px;text-decoration-thickness:1px;transition:background-color .15s,text-decoration-color .15s}
.inline-mention:hover,.inline-mention[aria-expanded=true]{background:#657b5810;text-decoration-style:solid;text-decoration-color:#52684a}
.inline-mention:focus-visible{outline:2px solid #52684a;outline-offset:3px}
.mention-card{position:fixed;inset:auto;margin:0;width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:1px solid #deddd1;border-radius:12px;background:#fffdf6;color:#343b37;box-shadow:0 12px 40px #24382d24,0 2px 8px #24382d0d;font:14px/1.55 var(--sans);text-align:left}
.mention-card:popover-open{animation:mention-reveal .16s ease-out}
.mention-card::backdrop{background:transparent;backdrop-filter:none}
.mention-heading{display:flex;align-items:center;gap:12px}
.mention-heading img{width:48px;height:48px;object-fit:cover;object-position:center 30%;border-radius:5px}
.mention-heading h5{font:500 17px/1.3 var(--sans);letter-spacing:-.3px;margin:0}
.mention-card>p{font:14px/1.55 var(--sans);color:#596152;margin:13px 0 17px}
.mention-card nav{display:flex;flex-wrap:wrap;gap:8px 17px;font-size:12px}
.mention-card nav a{display:inline-flex;align-items:center;min-height:28px;text-decoration-color:#a5ad9c;text-underline-offset:3px}
.mention-card nav a>.icon{width:13px;height:13px;margin-left:5px}
.mention-card nav .mention-social{width:32px;height:32px;justify-content:center;border-radius:4px}
.mention-card nav .mention-social>.icon{width:18px;height:18px;margin:0}
.mention-card nav .mention-social:hover{background:#657b5810}
.mention-card :focus-visible{outline-offset:2px}
@keyframes mention-reveal{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mention-card:popover-open{animation:none}}

/* A warm, printed-postcard title on the sand. */
.beach-title h1{font-family:'Fraunces',Georgia,serif;font-size:74px;font-weight:500;font-optical-sizing:none;font-variation-settings:'opsz' 72;letter-spacing:-2.8px;line-height:1}
.beach-title h1 span{font-family:inherit;font-size:23px;font-weight:500;letter-spacing:-.5px;margin-left:8px;vertical-align:baseline}
@media(min-width:1600px){.beach-title h1{font-size:90px}}
@media(min-width:701px) and (max-height:850px){.beach-title h1{font-size:64px}}
@media(max-width:700px){.beach-title h1{font-size:54px;letter-spacing:-1.8px}.beach-title h1 span{font-size:20px;margin-left:6px}}

/* Correspondence: thin ivory stock, blue ink, and photographic prints. */
:root{--post-ink:#263e54;--post-paper:#f6f4eb;--post-hand:'Reenie Beanie',cursive;--post-display:'STIX Two Text',Georgia,serif;--paper-grain:url('assets/paper/paper-fibers.png')}
.beach-title h1{font-family:var(--post-display);font-size:62px;font-weight:400;font-variation-settings:normal;text-transform:uppercase;letter-spacing:-1.6px;color:var(--post-ink);text-shadow:none}
.beach-title h1 span{font-family:var(--post-hand);font-size:34px;font-weight:400;text-transform:none;letter-spacing:-1px;margin-left:13px;transform:rotate(-7deg)}
.beach-title p{color:#4e5d63;font-size:9px;letter-spacing:1.5px}
.postcard.found{width:340px;filter:none;will-change:auto;scale:1;transform-style:flat;isolation:isolate}
.postcard.found:hover,.postcard.found:focus-visible{filter:none;scale:1}
.postcard::before,.postcard::after{display:none}
.paper-stack{display:block;position:relative;perspective:900px;transform-style:flat;isolation:isolate;--paper-pitch:0deg;--paper-yaw:0deg;--paper-lift:0px;--shadow-x:3px}
.postcard-letter,.postcard-face{background-color:var(--post-paper);background-image:var(--paper-grain);background-size:300px;transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s;transform-origin:50% 65%;backface-visibility:hidden}
.postcard-letter{display:block;position:absolute;z-index:0;inset:-6px -12px 4px 9px;text-align:right;padding:19px 18px;color:var(--post-ink);transform:rotate(9deg) translate(14px,15px);box-shadow:1px 1px 0 #c3c0b2,3px 5px 9px #3d443426;border:1px solid #fdfcf6}
.letter-heading{display:block;font:22px/1 var(--post-display);letter-spacing:1px;text-align:left}
.letter-address{position:absolute;right:16px;top:60px;font:27px/1.05 var(--post-hand);text-align:left}
.letter-signature{position:absolute;bottom:12px;right:16px;font:29px/1 var(--post-hand)}
.postcard-face{position:relative;z-index:1;isolation:isolate;transform-style:flat;display:block;padding:10px 10px 13px;border:1px solid #fffef7;border-radius:1px 2px 6px 2px;box-shadow:0 1px 0 #c0bba9,0 2px 0 #e3dfd2,var(--shadow-x) 8px 11px -5px #313c3560;transform:translateY(calc(-1 * var(--paper-lift))) rotateX(var(--paper-pitch)) rotateY(var(--paper-yaw));text-align:left;color:var(--post-ink)}
.postcard-photo{display:block;position:relative;overflow:hidden;aspect-ratio:2.05;background:#b8cbd0}
.postcard-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%;filter:saturate(.76);pointer-events:none}
.postcard-location{position:absolute;left:11px;top:10px;font:8px/1.3 var(--mono);letter-spacing:1.2px;color:#fffdf5;text-shadow:0 1px 3px #18344066}
.postcard-caption{display:block;padding:10px 8px 0 8px;min-height:76px}
.postcard-writing{font:30px/.95 var(--post-hand);letter-spacing:0;margin:0;transform:rotate(-2deg);transform-origin:left center;color:var(--post-ink)}
.postcard-caption .tiny{font:7px/1.5 var(--mono);letter-spacing:.7px;margin:10px 0 0;display:block;color:#586877}

.postcard.found:hover .paper-stack,.postcard.found:focus-visible .paper-stack{--paper-lift:9px}
.postcard.found:hover .postcard-letter,.postcard.found:focus-visible .postcard-letter{transform:rotate(12deg) translate(18px,19px)}
.postcard.found:hover .postcard-face,.postcard.found:focus-visible .postcard-face{box-shadow:0 1px 0 #c0bba9,0 2px 0 #e3dfd2,var(--shadow-x) 22px 19px -10px #313c354d}
.postcard.found.dragging{filter:none;scale:1.025}
.postcard.dragging .paper-stack{--paper-lift:17px;--paper-pitch:9deg;--paper-yaw:-6deg}
.postcard.dragging .postcard-face{box-shadow:0 1px 0 #c0bba9,0 2px 0 #e3dfd2,7px 28px 22px -9px #313c3555}
.postcard .object-label{bottom:-44px;color:var(--post-ink)}
.polaroid{background-color:var(--post-paper);background-image:var(--paper-grain);background-size:300px;padding:7px 7px 0;box-shadow:0 1px 0 #b8b5a7}
.polaroid .photo-writing{font:24px/1 var(--post-hand);color:var(--post-ink);padding:11px 0 14px}
.polaroid .photo-image{filter:saturate(.85)}
.collection-card{background-color:var(--post-paper);background-image:var(--paper-grain);background-size:300px;border:1px solid #fffdf7;box-shadow:0 1px 0 #c1bdaf,2px 5px 8px #39473420}
.collection-speaker{font:27px/1 var(--post-hand);color:var(--post-ink);margin-top:12px}
.collection-title{font-size:12px;color:#5a6670}
.collection-number,.collection-date{color:#52677a}
.postcard-collection{background:#e5e5da}
.recap-reader,.speaker-portrait{background-color:var(--post-paper);background-image:var(--paper-grain);background-size:300px}
.reader-heading h3{font-family:var(--post-display);font-weight:400;font-size:46px;line-height:1.12;letter-spacing:-1.2px;color:var(--post-ink)}
#inspect.is-reading .recap-navigation{background:var(--post-paper);color:var(--post-ink)}
.reader-authorship{background:#e9ece3;border-left-color:#8a9ca4;color:#50616b}
.reader-heading,.reader-colophon{border-color:#c5ccca}
.shore-credit button{margin-left:12px;padding:4px 0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px}
@media(min-width:1600px){.beach-title h1{font-size:78px}.postcard.found{width:390px}}
@media(min-width:701px) and (max-height:850px){.beach-title h1{font-size:56px}.postcard.found{width:285px;--y:45%!important}.postcard-writing{font-size:26px}.postcard-caption{min-height:70px}}
@media(max-width:700px){.beach-title h1{font-size:38px;letter-spacing:-1px}.beach-title h1 span{font-size:28px;margin-left:8px}.beach-title p{font-size:8px;letter-spacing:1px}.postcard.found{width:230px;--x:40%!important;--y:53%!important}.postcard-face{padding:7px 7px 10px}.postcard-photo{aspect-ratio:1.85}.postcard-caption{min-height:65px;padding:8px 4px 0 4px}.postcard-writing{font-size:25px}.postcard-caption .tiny{font-size:6px;letter-spacing:.3px;margin-top:8px}.postcard-location{font-size:6px;left:7px;top:7px;letter-spacing:.7px}.postcard-letter{inset:0 -7px 6px 5px;padding:13px;transform:rotate(8deg) translate(9px,11px)}.letter-heading{font-size:18px}.letter-address{font-size:23px;top:45px}.letter-signature{font-size:25px}.photo-1{--y:37%!important;--x:83%!important;width:94px}.polaroid .photo-writing{font-size:22px;padding:9px 0 12px}.collection-speaker{font-size:25px}.reader-heading h3{font-size:35px;line-height:1.12;letter-spacing:-.6px}}
@media(prefers-reduced-motion:reduce){.paper-stack{--paper-pitch:0deg!important;--paper-yaw:0deg!important;--paper-lift:0px!important}.postcard.found:hover .postcard-letter,.postcard.found:focus-visible .postcard-letter{transform:rotate(9deg) translate(14px,15px)}.postcard.found.dragging{scale:1}}

/* Lift the complete object above nearby finds, while its printed face stays
   composited above the backing sheet even at the strongest perspective tilt. */
.found:hover,.found:focus-visible{z-index:5}
.found.dragging{z-index:10}

#inspect.is-bottle-view .inspect-toolbar{justify-content:flex-end}
#inspect.is-bottle-view .inspect-toolbar h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#inspect.is-bottle-view .put-back-label{display:none}
#inspect.is-bottle-view .put-back{width:44px;height:44px;padding:0}
#inspect.is-bottle-view .put-back .icon{width:18px;height:18px;margin:0}

.bottle>.beach-bottle-render{display:block;width:100%;height:auto;pointer-events:none}
.bottle{filter:drop-shadow(3px 5px 2px #493f3455) drop-shadow(8px 12px 7px #493f342b)}
.held-card.is-bottle .held-front>.beach-bottle-render{width:100%;height:100%;object-fit:contain;pointer-events:none}

.bottle{width:clamp(75px,8vw,110px)}
@media(max-width:700px){.bottle{width:64px}}

/* A thin photo print: the entire face tilts as one surface, including its gloss. */
.found.polaroid{padding:0;background:none;box-shadow:none;filter:none;isolation:isolate;scale:1}
.found.polaroid:hover,.found.polaroid:focus-visible{filter:none;scale:1}
.polaroid-stack{display:block;position:relative;perspective:750px;isolation:isolate;--paper-pitch:0deg;--paper-yaw:0deg;--paper-lift:0px;--shadow-x:3px;--gloss-x:50%}
.polaroid-face{position:relative;display:block;padding:7px 7px 0;background:var(--paper-grain) 0 0/300px,var(--post-paper);border-radius:1px 2px 3px 1px;border:1px solid #fffef6;isolation:isolate;transform-origin:50% 65%;transform:translateY(calc(-1 * var(--paper-lift))) rotateX(var(--paper-pitch)) rotateY(var(--paper-yaw));box-shadow:0 1px 0 #dad5c7,0 2px 0 #aaa594,1px 3px 0 #d0cabb,var(--shadow-x) 8px 9px -4px #3e3c3a55;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s}
.polaroid-face .photo-image{border:1px solid #283b4b18;box-shadow:inset 0 0 0 1px #fff9;filter:none}
.polaroid-face .photo-image:not(.empty)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,transparent 12%,#fff0 30%,#fff3 46%,#fff0 63%,transparent 85%);background-size:240% 100%;background-position:var(--gloss-x) 50%;opacity:.25;transition:background-position .28s,opacity .28s}
.found.polaroid:hover .polaroid-stack,.found.polaroid:focus-visible .polaroid-stack{--paper-lift:8px}
.found.polaroid:hover .polaroid-face,.found.polaroid:focus-visible .polaroid-face{box-shadow:0 1px 0 #dad5c7,0 2px 0 #aaa594,1px 3px 0 #d0cabb,var(--shadow-x) 19px 17px -7px #3e3c3a55}
.found.polaroid:hover .photo-image::after{opacity:.65}
.found.polaroid.dragging{filter:none;scale:1.035}
.polaroid.dragging .polaroid-stack{--paper-lift:15px;--paper-pitch:10deg;--paper-yaw:-7deg}
.polaroid.dragging .polaroid-face{box-shadow:0 1px 0 #dad5c7,0 2px 0 #aaa594,1px 3px 0 #d0cabb,7px 25px 19px -8px #3e3c3a66}
.beach-title h1{font-family:'Instrument Serif',Georgia,serif;font-stretch:normal;font-optical-sizing:auto;font-variation-settings:normal;text-transform:uppercase;font-size:76px;letter-spacing:-1.5px}
.beach-title h1 span{font-variation-settings:normal;font-stretch:normal}
@media(min-width:1600px){.beach-title h1{font-size:92px}}
@media(min-width:701px) and (max-height:850px){.beach-title h1{font-size:66px}}
@media(max-width:700px){.beach-title h1{font-size:46px;letter-spacing:-.7px}.polaroid-face{padding:6px 6px 0}}
@media(prefers-reduced-motion:reduce){.polaroid-stack{--paper-pitch:0deg!important;--paper-yaw:0deg!important;--paper-lift:0px!important}.polaroid-face,.polaroid-face .photo-image::after{transition:none}.found.polaroid.dragging{scale:1}}

/* Offline-rendered solid shell models retain the beach's low runtime cost. */
.shell{display:block;height:auto;filter:drop-shadow(1px 2px 1px #5c514b44) drop-shadow(3px 4px 3px #5c514b24)}
.shell-one{width:52px}
.shell-two{width:33px}
@media(max-width:700px){.shell-one{width:38px}.shell-two{width:27px}}
.found{z-index:1}
@media(max-width:700px){.shell-one{left:6%;top:66%}}

/* A growing album of Flo's photographs, reached from a single paper stack. */
.album-stack .polaroid-stack::before,.album-stack .polaroid-stack::after{content:"";position:absolute;inset:1px;background:var(--post-paper);border:1px solid #fffdf5;box-shadow:1px 3px 4px #343a3230;transform:rotate(-7deg) translate(-4px,3px);z-index:-1}
.album-stack .polaroid-stack::after{transform:rotate(5deg) translate(4px,4px);z-index:-2}
#album-dialog{width:min(850px,calc(100% - 32px));max-width:none;max-height:calc(100svh - 36px);border:0;padding:0;color:var(--post-ink);background:var(--paper-grain) 0 0/300px,var(--post-paper);box-shadow:0 25px 70px #162c3a40;scrollbar-width:thin}
#album-dialog [hidden]{display:none!important}
.album-toolbar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:10px 16px;background:var(--post-paper);border-bottom:1px solid #263e540d}
.album-toolbar h2{grid-column:2;grid-row:1;text-align:center;font:31px/1.2 var(--post-hand);margin:0}
.album-toolbar button,#album-viewer nav button{display:grid;place-items:center;width:44px;height:44px;background:none;border-radius:50%}
.album-toolbar button:hover,#album-viewer nav button:hover{background:#263e540a}
#album-close{grid-column:3;grid-row:1}#album-back{grid-column:1;grid-row:1}
.album-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:36px}
.album-print{background:#fffdf7;padding:10px 10px 16px;box-shadow:1px 3px 7px #28332120;transform:rotate(-1deg);transition:transform .2s,box-shadow .2s;text-align:left}
.album-print:nth-child(even){transform:rotate(1deg)}
.album-print:hover{transform:translateY(-4px);box-shadow:2px 8px 12px #28332124}
.album-print img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.album-print:nth-child(2) img{object-position:50% 40%}
.album-print span{display:block;font:28px/1 var(--post-hand);padding:14px 4px 0}
#album-viewer{padding:20px 28px 16px}
#album-viewer figure{margin:0;text-align:center}
:is(#album-image,.album-stack-image){display:block;width:100%;height:auto;max-height:calc(100svh - 240px);object-fit:contain}
:is(#album-caption,.album-stack-caption){font:32px/1.15 var(--post-hand);margin:18px 0 8px}
#album-viewer nav{display:flex;align-items:center;justify-content:center;gap:22px}
#album-position{font:10px var(--mono);letter-spacing:1px;min-width:45px;text-align:center}
#album-viewer nav button:disabled{opacity:.25;cursor:default;background:none}
@media(max-width:700px){.album-grid{gap:22px;padding:24px 18px;grid-template-columns:1fr}.album-print span{font-size:29px}.album-toolbar{padding:6px 10px}#album-viewer{padding:16px 12px}:is(#album-caption,.album-stack-caption){font-size:29px}#album-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px)}}
@media(prefers-reduced-motion:reduce){.album-print{transition:none}}

/* Keep photo inspection quiet while retaining its accessible name and close control. */
#inspect:has(.held-card.is-photo) .inspect-toolbar{justify-content:flex-end}
#inspect:has(.held-card.is-photo) .inspect-toolbar h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#inspect:has(.held-card.is-photo) .put-back-label,#inspect:has(.held-card.is-photo) .handling-hint{display:none}
#inspect:has(.held-card.is-photo) .put-back{width:44px;height:44px;padding:0}
#inspect:has(.held-card.is-photo) .put-back .icon{width:18px;height:18px;margin:0}

/* Loose photo prints floating over the beach, without an album panel. */
#album-dialog{background:transparent;box-shadow:none;overflow:hidden;color:#fffdf2}
#album-dialog[open]{display:flex;flex-direction:column}
#album-dialog::backdrop{background:#1c302c70;backdrop-filter:blur(9px)}
.album-toolbar{position:relative;flex:none;background:none;border:0;padding-bottom:16px;text-shadow:0 1px 8px #142c3255}
.album-toolbar button,#album-viewer nav button{padding:0;color:inherit}
.album-toolbar button>.icon,#album-viewer nav button>.icon{display:block;width:18px;height:18px;margin:0}
.album-toolbar button:hover,#album-viewer nav button:hover{background:#fffdf218}
.album-toolbar button:focus-visible,#album-viewer nav button:focus-visible{outline-color:#fffdf2;outline-offset:2px}
.album-grid{overflow:auto;min-height:0;gap:38px;padding:24px 36px 42px;scrollbar-width:thin}
.album-print{--print-angle:-1.5deg;color:var(--post-ink);background:var(--paper-grain) 0 0/300px,#fffdf7;border:1px solid #fffef6;transform:perspective(1000px) rotateX(3deg) rotateZ(var(--print-angle));box-shadow:0 1px 0 #ddd8cb,0 2px 0 #b8b2a4,2px 5px 6px #132b3426,7px 18px 24px -8px #132b3459;transition:transform .25s ease,box-shadow .25s ease;transform-origin:50% 60%}
.album-print:nth-child(even){--print-angle:1.5deg;transform:perspective(1000px) rotateX(3deg) rotateZ(var(--print-angle))}
@media(hover:hover) and (pointer:fine){.album-print:hover{transform:perspective(1000px) translateY(-7px) rotateX(0deg) rotateY(-2deg) rotateZ(0deg);box-shadow:0 1px 0 #ddd8cb,0 2px 0 #b8b2a4,3px 8px 9px #132b3426,10px 28px 32px -10px #132b3466}}
#album-viewer{min-height:0;overflow:auto}
#album-viewer figure{width:fit-content;max-width:100%;margin:0 auto;padding:12px 12px 8px;background:var(--paper-grain) 0 0/300px,#fffdf7;color:var(--post-ink);border:1px solid #fffef6;box-shadow:0 2px 0 #c9c2b2,4px 16px 30px #132b3445;transform:perspective(1200px) rotateX(1deg)}
:is(#album-image,.album-stack-image){width:auto;max-width:100%;max-height:calc(100svh - 290px)}
:is(#album-caption,.album-stack-caption){max-width:680px;padding:0 8px}
#album-viewer nav{margin-top:12px}
@media(max-width:700px){.album-grid{gap:28px;padding:16px 18px 32px}.album-toolbar{padding-bottom:12px}#album-viewer figure{padding:8px 8px 6px}:is(#album-image,.album-stack-image){max-height:calc(100svh - 280px)}}
@media(prefers-reduced-motion:reduce){.album-print,.album-print:nth-child(even),.album-print:hover{transform:rotate(var(--print-angle));transition:none}}

.album-date{display:block;font:9px/1.5 var(--mono);letter-spacing:.7px;text-transform:uppercase;color:#647078;margin:12px 4px 0}
#album-date{margin:4px 8px 10px}


/* Both sheets in the postcard stack are real buttons, never nested buttons. */
button.postcard-face{width:100%;cursor:grab}
.postcard-letter{cursor:pointer}
.postcard-letter.letter-open{visibility:hidden}
.postcard-letter:focus-visible{z-index:2;outline-offset:3px}
.postcard:has(.postcard-letter:hover) .object-label{opacity:0}
.postcard:has(.postcard-face:focus-visible) .paper-stack{--paper-lift:9px}
#handwritten-dialog{padding:0;border:0;width:min(580px,calc(100% - 36px));max-width:none;max-height:calc(100svh - 36px);color:var(--post-ink);background:var(--paper-grain) 0 0/300px,var(--post-paper);box-shadow:5px 22px 60px #18282155;overflow:auto}
.handwritten-paper{position:relative;min-height:350px;padding:30px}
.handwritten-paper h2{margin:0;font:30px/1 var(--post-display);letter-spacing:2px;font-weight:400}
.handwritten-address{position:absolute;left:52%;top:110px;font:37px/1.15 var(--post-hand);transform:rotate(-2deg)}
.handwritten-signature{position:absolute;right:32px;bottom:25px;margin:0;font:40px/1 var(--post-hand);transform:rotate(-4deg)}
.handwritten-paper::before{content:"";position:absolute;left:46%;top:100px;bottom:30px;width:1px;background:#263e5426}
#close-handwritten{position:absolute;right:10px;top:8px;z-index:1;display:grid;place-items:center;width:44px;height:44px;background:none;border-radius:50%}
#close-handwritten:hover{background:#263e540a}
#close-handwritten>.icon{display:block;margin:0}
#close-handwritten:focus-visible{outline-offset:-4px}
@media(max-width:700px){.handwritten-paper{min-height:290px;padding:24px}.handwritten-paper h2{font-size:25px}.handwritten-address{left:47%;top:105px;font-size:28px}.handwritten-paper::before{left:40%;top:90px}.handwritten-signature{font-size:34px;right:24px}}

/* Reader stationery: sea-glass highlighting and warm, softly lit paper. */
.recap-reader::selection,.recap-reader ::selection{background:#b8d8ce;color:#203c43;text-shadow:none}
#inspect.is-reading{--reader-paper:#f5efdf}
#inspect.is-reading .recap-reader{
  background-color:var(--reader-paper);
  background-image:var(--paper-grain),linear-gradient(100deg,#b6a17b10,transparent 8%,#fffdf51a 48%,transparent 93%,#9e896512);
  background-size:300px,100% 100%;
  border-radius:0 0 2px 2px;
  box-shadow:inset 1px 0 0 #fffdf6b3,inset -1px 0 0 #c4b99b66,0 2px 0 #dbd2bd,2px 5px 8px #23342b12,8px 22px 42px -16px #142b324d;
}
#inspect.is-reading .recap-navigation{
  background-color:var(--reader-paper);
  background-image:var(--paper-grain);
  background-size:300px;
  border-bottom-color:#766b5010;
  box-shadow:inset 1px 1px 0 #fffdf6b3,inset -1px 0 0 #c4b99b66;
  border-radius:2px 2px 0 0;
}

/* Cast the stationery shadow outside the scrolling dialog, where it cannot clip. */
#inspect.is-reading{
  width:min(830px,calc(100% - 20px));
  border-radius:2px;
  box-shadow:0 2px 5px #142b3214,4px 14px 28px -8px #142b3233,10px 26px 60px -14px #142b3240;
}
#inspect.is-reading .recap-navigation,#inspect.is-reading .recap-reader,#inspect.is-reading .postcard-collection{margin:0}
#inspect.is-reading .recap-reader{box-shadow:inset 1px 0 0 #fffdf6b3,inset -1px 0 0 #c4b99b66}
#inspect.is-reading .postcard-collection{box-shadow:none}
@media(max-width:700px){.postcard-letter{transform:rotate(8deg) translate(27px,16px)}.postcard.found:hover .postcard-letter,.postcard.found:focus-visible .postcard-letter{transform:rotate(10deg) translate(30px,18px)}}

/* Golden hour: warm stock, navy ink, and soft shadows cast away from the sun. */
:root{--post-paper:#faf3e6;--post-ink:#30485a}
.postcard-letter,.postcard-face,.polaroid-face,.collection-card,.recap-reader,.speaker-portrait{background-blend-mode:multiply}
.postcard-face{box-shadow:0 1px 0 #c8b89e,0 2px 0 #e9d9bf,-7px 12px 14px -6px #684b384d}
.polaroid-face{box-shadow:0 1px 0 #decdb5,0 2px 0 #bca68b,-1px 3px 0 #dfccb2,-6px 11px 12px -5px #684b3847}
.postcard.found:hover .postcard-face,.postcard.found:focus-visible .postcard-face{box-shadow:0 1px 0 #c8b89e,0 2px 0 #e9d9bf,-10px 22px 22px -9px #684b384d}
.found.polaroid:hover .polaroid-face,.found.polaroid:focus-visible .polaroid-face{box-shadow:0 1px 0 #decdb5,0 2px 0 #bca68b,-10px 20px 20px -8px #684b3847}
.bottle{filter:drop-shadow(-3px 5px 2px #684b384d) drop-shadow(-9px 15px 8px #684b3833)}
.bottle>.beach-bottle-render{filter:sepia(.16) saturate(1.08)}
.shell{filter:sepia(.16) drop-shadow(-2px 3px 1px #684b3840) drop-shadow(-5px 7px 4px #684b382b)}
.reader-authorship{background:#f0e5d7;border-left-color:#ad6850}
.beach-title p{color:#765f4e}

/* Album: one swipeable print, or a complete contact sheet without a scroll crop. */
#album-dialog{width:min(1000px,calc(100% - 24px));height:min(900px,calc(100svh - 36px));max-height:calc(100svh - 36px);overflow:visible}
.album-toolbar{grid-template-columns:110px 1fr 44px;padding:6px 16px 12px}
.album-toolbar #album-back{width:auto;font-size:12px;border-radius:22px;padding:0 10px;white-space:nowrap}
#album-viewer{flex:1;display:grid;grid-template-rows:minmax(0,1fr) 44px;align-items:center;overflow:visible;padding:20px 32px 24px;gap:16px;width:100%}
.album-stage{display:grid;place-items:center;min-width:0;min-height:0;height:100%;position:relative}
#album-viewer figure{position:relative;isolation:isolate;flex:none;max-width:100%;touch-action:pan-y pinch-zoom;user-select:none;cursor:grab;transform:none}
#album-viewer figure:active{cursor:grabbing}
#album-viewer figure::before,#album-viewer figure::after{content:"";position:absolute;inset:0;z-index:-1;background:#eeeade;border:1px solid #fffdf2;box-shadow:2px 7px 16px #132b3426;transform:rotate(-3deg)}
#album-viewer figure::after{transform:rotate(2deg);background:#f6f2e7;z-index:-2}
:is(#album-image,.album-stack-image){max-width:min(650px,calc(100vw - 94px));max-height:min(590px,calc(100svh - 310px))}
:is(#album-caption,.album-stack-caption){font-size:30px;line-height:1.1;max-width:600px;margin:15px auto 8px}
#album-viewer nav{flex:none;margin:0;align-self:end;width:100%;height:44px}
#album-position{width:64px;min-width:64px;font-variant-numeric:tabular-nums}
#album-grid{flex:1;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:max-content;align-items:center;align-content:start;gap:20px 16px;overflow:auto;padding:20px 24px 30px}
#album-grid .album-print{display:flex;flex-direction:column;min-height:0;min-width:0;padding:7px 7px 10px;box-shadow:1px 3px 0 #b8b2a4,3px 9px 15px #132b3433}
#album-grid .album-photo-surface{min-height:0;flex:none;width:100%}
#album-grid .album-print img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
#album-grid .album-print span{font-size:21px;line-height:1;flex:none;padding:10px 2px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#album-grid .album-date{display:none}
#album-grid .album-print:focus-visible{outline-color:#fffdf2;outline-offset:5px}
@media(max-width:700px){
  #album-dialog{height:calc(100svh - 24px);max-height:calc(100svh - 24px)}
  .album-toolbar{padding:0 2px 8px;grid-template-columns:90px 1fr 44px}
  .album-toolbar h2{font-size:27px}.album-toolbar #album-back{font-size:11px;padding:0 4px}
  #album-viewer{padding:12px 18px 20px;gap:18px}
  :is(#album-image,.album-stack-image){max-width:calc(100vw - 82px);max-height:calc(100svh - 310px)}
  :is(#album-caption,.album-stack-caption){font-size:27px;max-width:280px}
  #album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;padding:10px 10px 24px}
  #album-grid .album-print{padding:5px 5px 8px}
  #album-grid .album-print span{font-size:17px;padding-top:7px}
}
@media(max-height:550px) and (min-width:701px){:is(#album-image,.album-stack-image){max-height:calc(100svh - 240px)}:is(#album-caption,.album-stack-caption){font-size:23px;margin-top:8px}#album-viewer{padding:6px 30px;gap:6px}#album-grid{gap:12px;padding:8px 20px 16px}#album-grid .album-print span{font-size:17px;padding-top:5px}}

/* Uncoated stationery: keep the print crisp over a softly bowed, fibrous sheet. */
#inspect.is-reading{
  --reader-paper:#f6f0e2;
  border-radius:2px 5px 9px 3px;
  box-shadow:1px 0 0 #fffaf0,2px 1px 0 #d6cbb7,3px 2px 0 #b7aa92,0 3px 7px #142b3214,5px 16px 30px -9px #142b3238,14px 30px 65px -17px #142b3245;
}
#inspect.is-reading .recap-reader{
  position:relative;isolation:isolate;
  background-color:var(--reader-paper);
  background-image:linear-gradient(90deg,#9c89611c,transparent 2.5%,#fffdf338 14%,transparent 38% 78%,#9c896112 94%,#fffdf666 98.8%,#96815b33),radial-gradient(ellipse at 12% 0%,#fffdf566,transparent 70%);
  background-size:100% 100%;
  border-radius:0 0 9px 3px;
  box-shadow:inset 1px 0 0 #fffdf5,inset -1px 0 0 #b9a98a80,inset 0 -2px 0 #b5a68a60;
}
#inspect.is-reading .recap-reader::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:var(--paper-grain) 0 0/410px;filter:grayscale(1);mix-blend-mode:multiply;opacity:.55;
}
#inspect.is-reading .recap-reader::after{
  content:"";position:absolute;left:1px;right:1px;bottom:1px;height:18px;pointer-events:none;
  border-radius:0 0 50% 8%;background:linear-gradient(0deg,#9c89611c,transparent 85%);
}
#inspect.is-reading .recap-navigation{
  background-color:var(--reader-paper);
  background-image:linear-gradient(90deg,#9c89611c,transparent 2.5%,#fffdf338 14%,transparent 38% 78%,#9c896112 94%,#fffdf666 98.8%,#96815b33);
  background-size:100% 100%;
  box-shadow:inset 1px 1px 0 #fffdf5,inset -1px 0 0 #b9a98a80;
  border-radius:2px 5px 0 0;
}
#inspect.is-reading .recap-navigation::before{content:"";position:absolute;inset:0;background:var(--paper-grain) 0 0/410px;filter:grayscale(1);mix-blend-mode:multiply;opacity:.55;pointer-events:none;z-index:-1}

/* Reused historic postage with a fresh perforated edge and original cancellation. */
.postal-decoration{position:absolute;right:52px;top:24px;width:205px;height:100px;pointer-events:none}
.postage-stamp{position:absolute;right:0;top:5px;display:block;width:86px;height:59px;padding:5px;background:#f8f1da;mask:url('assets/paper/stamp-perforations.svg') center/100% 100% no-repeat;transform:rotate(7deg)}
.postage-art{display:block;width:100%;height:100%;overflow:hidden}
.postage-art img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.12);filter:saturate(.65) sepia(.12)}
.postal-cancellation{position:absolute;inset:0;width:100%;height:100%;color:#334455;opacity:.55;transform:rotate(-10deg);mix-blend-mode:multiply}
.handwritten-paper .handwritten-address{top:135px;line-height:1.35}
.handwritten-paper::before{top:125px}
/* A restrained tilt and layered stock edge for the postcard held in hand. */
#handwritten-dialog{background:transparent;box-shadow:none;overflow:visible;perspective:1100px}
#handwritten-dialog .handwritten-paper{
  background:var(--paper-grain) 0 0/300px,var(--post-paper);
  border-radius:2px;
  transform:rotateX(var(--letter-pitch,0deg)) rotateY(var(--letter-yaw,0deg));
  transition:transform 240ms ease-out;
  box-shadow:inset 0 1px 0 #fffdf4,inset 1px 0 0 #ffffff99,
    0 1px 0 #e1d9c6,0 2px 0 #bdb39d,0 3px 0 #e7decb,0 4px 0 #a99e88,
    2px 8px 12px #18282124,5px 25px 48px #18282145,12px 45px 85px #18282126;
}
#handwritten-dialog .handwritten-paper::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse at var(--letter-light,50%) 0%,#fffdf52b,transparent 75%);
}
@media(prefers-reduced-motion:reduce){#handwritten-dialog .handwritten-paper{transform:none;transition:none}}
@media(max-width:700px){.handwritten-paper{min-height:330px}.handwritten-paper h2{font-size:22px;letter-spacing:1px}.postal-decoration{width:150px;height:76px;right:36px;top:52px}.postage-stamp{width:66px;height:45px;padding:4px}.handwritten-paper .handwritten-address{top:145px;font-size:26px}.handwritten-paper::before{top:135px}.handwritten-signature{font-size:32px}}

/* A shared photographic finish; the supplied originals remain untouched. */
.album-photo-surface{position:relative;isolation:isolate;overflow:hidden}
.album-photo-surface img,.photo-image>img,.postcard-photo>img{
  filter:sepia(.14) saturate(.88) contrast(.94) brightness(1.035);
}
.album-photo-surface::after,.photo-image:not(.empty)::before,.postcard-photo::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='grain' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath fill='%23808080' d='M0 0h180v180H0z' filter='url(%23grain)'/%3E%3C/svg%3E");
  background-size:180px 180px;opacity:.19;mix-blend-mode:soft-light;
}

/* Static relief: DOM lettering remains available to assistive technology. */
.beach-title h1{position:relative;color:#9c7d55;text-shadow:0 1px 1px #fff0cf,0 -1px 1px #775d3d66}
.beach-title .sand-title-words{display:inline-block;font:inherit;letter-spacing:inherit}
.beach-title h1.sand-relief-ready{color:transparent;text-shadow:none}
.sand-title-relief{position:absolute;left:-9px;top:-9px;pointer-events:none;max-width:none}
#album-grid .album-photo-surface{background:transparent;box-shadow:none}

/* Shuffle real prints: the next photograph stays still beneath the dragged one. */
#album-viewer .album-stage>figure{grid-area:1/1;touch-action:pinch-zoom;z-index:3}
#album-viewer .album-stage>figure::before,#album-viewer .album-stage>figure::after{display:none}
#album-viewer .album-stage>.album-underprint{z-index:2;transform:rotate(-2deg);pointer-events:none}
#album-viewer .album-stage>.album-underprint::before,#album-viewer .album-stage>.album-underprint::after{display:block}
#album-viewer .album-stage>.album-returning-print{z-index:1;pointer-events:none}
.album-stack-image{display:block;width:auto;height:auto;object-fit:contain}
.album-stack-caption{font-family:var(--post-hand)}

/* Real persistent prints rotate through the deck; depth changes off the edge. */
#album-viewer .album-stage>.album-deck-print{will-change:transform;pointer-events:none;transition:transform .3s cubic-bezier(.22,.61,.36,1)}
#album-viewer .album-stage>.album-deck-print[aria-hidden="false"]{pointer-events:auto}
#album-viewer .album-stage>.album-deck-print[hidden]{display:none}

#album-viewer .album-stage>.album-deck-print.album-handled{transition:none}
@media(prefers-reduced-motion:reduce){#album-viewer .album-stage>.album-deck-print{transition:none}}

/* Slightly aged instant film: green shadows, fine grain and gentle edge falloff. */
.polaroid-face .photo-image,.album-photo-surface{background-color:#607760;isolation:isolate}
.polaroid-face .photo-image>img,.album-photo-surface img{filter:sepia(.14) hue-rotate(12deg) saturate(.86) contrast(.96) brightness(1.025)}
.polaroid-face .photo-image:not(.empty)::before,.album-photo-surface::after{opacity:.3;background-color:#52735a;mix-blend-mode:soft-light;box-shadow:inset 0 0 18px #152f2855}
.polaroid-face .photo-image:not(.empty)::after{background-image:radial-gradient(ellipse at 48% 42%,transparent 40%,#163a2833 100%),linear-gradient(118deg,transparent 12%,#fff0 30%,#fff3 46%,#fff0 63%,transparent 85%);opacity:.35}
.polaroid-face{background-color:#f3efdf}

/* Keep the supplied Instagram profile and artwork grid together, uncropped. */
.instagram-reference .figure-image{display:block;padding:0;background:#0b0f13;overflow:hidden;border-radius:3px}
.instagram-reference .figure-image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:0}
.instagram-reference .figure-image img+img{border-top:1px solid #ffffff18}

/* Larger shells resting in clear sand, away from postcard captions. */
.shell-one{left:38%;top:66%;width:84px;transform:rotate(-28deg)}
.shell-two{left:85%;top:69%;width:64px;transform:rotate(62deg)}
@media(max-width:700px){.shell-one{left:18%;top:73%;width:64px}.shell-two{left:79%;top:68%;width:50px}}
