:root{--gold:#d4ab70;--paper:#9b724e;--paper-light:#ba9166;--ink:#21150e;--serif:"Cormorant Garamond",Georgia,serif;--display:"Cinzel",Georgia,serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{min-height:100%;background:#130e0a}body{margin:0;min-height:100vh;min-height:100svh;background:#160f0b;color:#ecd6b2;font-family:var(--serif)}
body:before{content:"";position:fixed;inset:0;z-index:0;background-image:linear-gradient(180deg,rgba(7,5,4,.18),rgba(12,7,5,.13) 57%,rgba(8,5,4,.26)),linear-gradient(180deg,rgba(7,5,4,.18),rgba(12,7,5,.13) 57%,rgba(8,5,4,.26));background-position:center;background-size:cover;background-repeat:no-repeat;pointer-events:none}
.page{position:relative;z-index:1;min-height:100vh;min-height:100svh;display:flex;justify-content:center;align-items:center;padding:42px 20px 50px}.links{width:min(530px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto;transform:translateY(-2px)}
.die{position:relative;width:88px;height:88px;padding:0;border:0;background:none;color:#efd0a0;cursor:pointer;transition:filter .22s ease,transform .22s ease}.die svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 6px rgba(226,173,103,.16))}.die-outline,.die-lines{fill:none;stroke:#e6c18a;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}.die-lines{stroke-width:1.45}.die-result{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;font:600 .9rem var(--serif);color:#f7dfba;text-shadow:0 1px 4px #1a100b,0 0 5px #1a100b}.die:hover,.die:focus-visible{filter:drop-shadow(0 0 14px rgba(243,193,121,.75));transform:scale(1.07);outline:none}.die:focus-visible{outline:1px solid #e7c18b;outline-offset:5px}.die.is-rolling{animation:dice-roll .72s cubic-bezier(.22,.8,.22,1)}.roll-message{height:23px;margin:6px 0 15px;color:#c7a77c;font-size:.92rem;font-style:italic;letter-spacing:.035em}
h1{margin:0;color:#ead2b1;font:500 clamp(3.5rem,9vw,5.45rem)/1 var(--display);letter-spacing:.17em;padding-left:.17em;text-shadow:0 2px 14px rgba(0,0,0,.65)}.brand-mark{width:min(300px,72%);height:37px;display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 25px}.brand-mark span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#c59a61 24%,#dbb87f)}.brand-mark span:last-child{transform:scaleX(-1)}.brand-mark img{width:31px;height:31px;object-fit:contain;filter:drop-shadow(0 0 4px rgba(224,187,133,.34))}
.social-links{width:min(100%,530px);display:grid;gap:15px}.social-link{position:relative;isolation:isolate;width:100%;height:75px;padding:0 28px;display:grid;grid-template-columns:64px 1fr 64px;align-items:center;border:0;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(100deg,rgba(71,43,24,.18),rgba(225,190,145,.2) 52%,rgba(66,39,21,.18)),url("assets/parchment-texture.webp");background-size:auto,cover;background-position:center;clip-path:polygon(2% 4%,7% 2%,13% 4%,19% 1%,25% 3%,33% 1%,41% 3%,49% 1%,58% 4%,67% 2%,76% 4%,83% 1%,91% 3%,98% 2%,99% 10%,100% 20%,98.7% 33%,100% 44%,98.6% 57%,100% 69%,98% 79%,99% 92%,96% 98%,88% 96%,80% 99%,71% 97%,61% 100%,52% 97%,43% 99%,34% 96%,25% 99%,16% 96%,8% 98%,2% 96%,1% 86%,0 76%,1.4% 64%,0 52%,1.4% 39%,0 26%,1.5% 15%);font:600 clamp(1rem,3.3vw,1.3rem) var(--display);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 0 rgba(238,211,169,.25);cursor:pointer;text-decoration:none;transition:transform .22s ease,filter .25s ease,background-color .25s ease}.social-link:after{content:"";position:absolute;inset:5px 9px;z-index:-1;border:1px solid rgba(68,43,27,.24);clip-path:inherit;pointer-events:none}.social-link:hover,.social-link:focus-visible{z-index:2;transform:scale(1.035);background-color:var(--paper-light);filter:drop-shadow(0 0 12px rgba(235,178,102,.64));outline:none}.social-link:focus-visible{filter:drop-shadow(0 0 8px rgba(242,205,150,.9))}.social-icon{justify-self:center;display:grid;place-items:center;width:35px;height:35px;color:#24170e;font:700 1.55rem Arial,sans-serif;letter-spacing:0;text-transform:none}.youtube-icon{width:36px;height:25px;border-radius:7px;background:#26180f;color:#ba9166;font-size:1rem}.twitch-icon{font-size:1.75rem}.instagram-icon{font-size:2.2rem}.tiktok-icon{font-size:2rem}.facebook-icon{font-size:2.15rem}.link-arrow{justify-self:end;opacity:0;transform:translate(-4px,3px);font-size:1rem;transition:.2s}.social-link:hover .link-arrow,.social-link:focus-visible .link-arrow{opacity:.82;transform:translate(0,0)}.coming-soon{justify-self:end;color:#4b3020;font:600 .61rem var(--display);letter-spacing:.1em;border:1px solid rgba(65,40,24,.46);padding:4px 7px;text-transform:uppercase}.facebook-link{grid-template-columns:64px 1fr 64px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes dice-roll{0%{transform:rotate(0) scale(1)}35%{transform:rotate(155deg) scale(.8)}70%{transform:rotate(320deg) scale(1.1)}100%{transform:rotate(360deg) scale(1)}}
@media(min-width:900px){body:before{background-size:auto 100%;background-position:center top}.page{padding-top:56px;padding-bottom:60px}}
@media(max-width:520px){.page{padding:26px 17px 38px}.links{transform:none}.die{width:76px;height:76px}.roll-message{margin-top:4px;margin-bottom:12px;font-size:.85rem}h1{font-size:clamp(3rem,15vw,4.1rem);letter-spacing:.13em;padding-left:.13em}.brand-mark{margin:9px auto 21px;width:75%}.social-links{gap:12px}.social-link{height:68px;padding:0 16px;grid-template-columns:48px 1fr 48px;font-size:1.05rem;letter-spacing:.14em}.social-icon{transform:scale(.9)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Crisp, consistent vector marks for the social links. */
.social-icon{color:#24170e}.social-icon svg{display:block;width:30px;height:30px;fill:currentColor}.youtube-icon{width:35px;height:35px;border-radius:0;background:transparent;color:#24170e}.youtube-icon svg{width:32px;height:24px}.icon-cutout{fill:#b58b5e}.instagram-icon svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.instagram-icon .icon-fill{fill:currentColor;stroke:none}.tiktok-icon svg{width:27px;height:31px}.facebook-icon svg{width:26px;height:30px}
.die-face{display:block;width:100%;height:100%;background-image:url("assets/d20-results.png");background-size:575% 718.75%;background-repeat:no-repeat;mix-blend-mode:screen;filter:drop-shadow(0 0 7px rgba(226,173,103,.24))}
@keyframes dice-roll{0%{transform:rotate(0) scale(1);opacity:1}24%{transform:rotate(110deg) scale(.72);opacity:.75}43%{transform:rotate(220deg) scale(.12);opacity:0}56%{transform:rotate(260deg) scale(.18);opacity:0}76%{transform:rotate(330deg) scale(.88);opacity:.78}100%{transform:rotate(360deg) scale(1);opacity:1}}
.social-icon img{display:block;width:32px;height:32px;object-fit:contain;mix-blend-mode:normal;filter:brightness(0)!important;forced-color-adjust:none}.die-face{mix-blend-mode:normal}

/* Give the study a framed, layered feel and let the parchment breathe. */
body:before{inset:12px;border-radius:30px;box-shadow:0 0 0 1px rgba(218,176,120,.15),0 18px 55px rgba(0,0,0,.55)}
.links{width:min(680px,100%);padding:40px clamp(20px,5vw,48px) 46px;transform:none;border:1px solid rgba(220,181,126,.21);border-radius:28px;background:linear-gradient(145deg,rgba(27,18,13,.48),rgba(10,7,6,.3));box-shadow:0 25px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,232,199,.08);backdrop-filter:blur(2px)}
.social-links{width:min(100%,584px);gap:19px}
.social-link{height:82px;filter:drop-shadow(0 8px 8px rgba(0,0,0,.42));text-shadow:0 1px 0 rgba(255,230,192,.32),0 2px 3px rgba(51,32,18,.23)}
.social-link:hover,.social-link:focus-visible{transform:translateY(-4px) scale(1.025);filter:drop-shadow(0 13px 12px rgba(0,0,0,.5)) drop-shadow(0 0 11px rgba(235,178,102,.55))}
h1{text-shadow:0 2px 1px rgba(255,230,195,.12),0 5px 10px rgba(0,0,0,.52),0 14px 28px rgba(0,0,0,.36)}
.brand-mark{margin-top:17px;margin-bottom:31px}
.roll-message{text-shadow:0 2px 8px rgba(0,0,0,.65)}

.die.is-rolling{animation:dice-roll .84s cubic-bezier(.2,.72,.16,1)}
@keyframes dice-roll{0%{transform:translateY(0) rotate(0) scale(1);filter:blur(0);opacity:1}14%{transform:translateY(-4px) rotate(46deg) scale(.96);filter:blur(0);opacity:1}37%{transform:translateY(4px) rotate(236deg) scale(.79);filter:blur(.45px);opacity:.82}50%{transform:translateY(-5px) rotate(405deg) scale(.84);filter:blur(1.2px);opacity:.68}65%{transform:translateY(2px) rotate(510deg) scale(.96);filter:blur(.45px);opacity:.88}82%{transform:translateY(-2px) rotate(735deg) scale(1.04);filter:blur(0);opacity:1}94%{transform:translateY(1px) rotate(716deg) scale(.99);filter:blur(0);opacity:1}100%{transform:translateY(0) rotate(720deg) scale(1);filter:blur(0);opacity:1}}
@media(min-width:900px){body:before{background-size:auto calc(100% - 24px);background-position:center center}.page{padding:48px 28px 54px}}
@media(max-width:520px){body:before{inset:8px;border-radius:22px}.links{width:100%;padding:29px 13px 32px;border-radius:22px}.social-links{gap:14px}.social-link{height:72px}.brand-mark{margin-top:14px;margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.die.is-rolling{animation-duration:.01ms!important}}

/* Quiet, CSS-built backdrop; the rounded board remains the only frame. */
body:before{inset:0;border-radius:0;box-shadow:none;background-image:radial-gradient(ellipse 42% 58% at 50% 38%,rgba(109,70,39,.2),transparent 100%),radial-gradient(ellipse 32% 48% at 8% 88%,rgba(91,58,35,.12),transparent 100%),radial-gradient(ellipse 30% 45% at 94% 10%,rgba(75,55,42,.1),transparent 100%),linear-gradient(145deg,#0e0907 0%,#1b120d 48%,#100a07 100%);background-size:cover;background-position:center}
@media(min-width:900px){body:before{background-size:cover;background-position:center}}

/* The masked mannequins drift at the edge of the study, never behind the links. */
.mannequin-watches{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:paint}
.mannequin-watch{position:absolute;top:0;bottom:0;width:min(27vw,430px);height:100svh;opacity:1}
.mannequin-watch-left{left:1.1vw}
.mannequin-watch-right{right:1.1vw}
.mannequin-watch img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;filter:grayscale(1) sepia(.22) brightness(.76) blur(2.3px) drop-shadow(0 0 38px rgba(185,135,79,.12));-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 66%,rgba(0,0,0,.86) 76%,transparent 93%);mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 66%,rgba(0,0,0,.86) 76%,transparent 93%);animation:watcher-drift 28s ease-in-out infinite;will-change:opacity,transform}
.mannequin-watch-left img:nth-child(1){animation-delay:-18.7s}
.mannequin-watch-left img:nth-child(2){animation-delay:-9.3s}
.mannequin-watch-right img{animation-duration:37s}
.mannequin-watch-right img:nth-child(1){animation-delay:-24.7s}
.mannequin-watch-right img:nth-child(2){animation-delay:-12.3s}
@keyframes watcher-drift{0%,24%{opacity:0;transform:translate3d(0,10px,0) scale(.985)}32%{opacity:.105;transform:translate3d(0,1px,0) scale(1)}57%{opacity:.13;transform:translate3d(0,-2px,0) scale(1.012)}66%,100%{opacity:0;transform:translate3d(0,-9px,0) scale(1.02)}}
@media(max-width:1050px){.mannequin-watches{display:none}}
@media(prefers-reduced-motion:reduce){.mannequin-watch img{animation:none;opacity:0}.mannequin-watch img:first-child{opacity:.09;transform:none}}

/* Full-canvas transparent pose sheets are center-cropped to give each figure equal scale. */
.mannequin-watch{width:min(40vw,780px)}
.mannequin-watch-left{left:-3vw}
.mannequin-watch-right{right:-3vw}
.mannequin-watch img{object-fit:cover;object-position:center bottom}
.mannequin-watch img{animation-name:watcher-cycle-separated;animation-duration:99s;animation-delay:0s;animation-timing-function:linear}
@keyframes watcher-cycle-separated{0%{opacity:0;transform:translate3d(0,10px,0) scale(.985)}2.02%,18.18%{opacity:.12;transform:translate3d(0,0,0) scale(1)}20.2%{opacity:0;transform:translate3d(0,-9px,0) scale(1.02)}100%{opacity:0;transform:translate3d(0,-9px,0) scale(1.02)}}
@media(prefers-reduced-motion:reduce){.mannequin-watch img{animation:none!important;opacity:0!important;transform:none!important}.mannequin-watch img:first-child{opacity:.09!important}}

.facebook-link{cursor:default;pointer-events:none}

/* Lost & Found home badge */
.links{position:relative}.home-mark{position:absolute;top:15px;left:17px;z-index:5;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;transition:transform .2s ease,filter .2s ease}.home-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));transition:filter .2s ease}.home-mark:hover,.home-mark:focus-visible{transform:scale(1.08);filter:drop-shadow(0 0 9px rgba(228,185,125,.6));outline:1px solid rgba(228,185,125,.55);outline-offset:3px}.home-mark:focus-visible{outline-offset:4px}
@media(max-width:520px){.home-mark{top:11px;left:11px;width:36px;height:36px}}

.email-link{letter-spacing:.14em}
