:root{--shb-ink: #050810;--shb-deep: #0c1820;--shb-canopy-1: #1a3024;--shb-canopy-2: #284838;--shb-mist: #b8d0c8;--shb-cream: #f4ede0;--shb-cream-dim: rgba(244, 237, 224, .65);--shb-cream-dimmer: rgba(244, 237, 224, .36);--shb-accent: #d8b878;--shb-card-bg: rgba(10, 18, 14, .42);--shb-card-border: rgba(244, 237, 224, .13)}html,body{background:var(--shb-ink);margin:0;padding:0;height:100%}body:has(.shb){color:var(--shb-cream);font-family:-apple-system,SF Pro Display,BlinkMacSystemFont,Inter,system-ui,sans-serif;min-height:100vh;overflow:hidden}.shb{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.shb__backdrop{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 35% 20%,rgba(216,184,120,.18) 0%,transparent 50%),radial-gradient(ellipse at 75% 70%,rgba(40,72,56,.55) 0%,transparent 60%),linear-gradient(180deg,#0c1820,#1c3428,#284838);animation:shbBackdrop 32s ease-in-out infinite alternate}@keyframes shbBackdrop{0%{filter:brightness(1)}to{filter:brightness(.93)}}.shb__backdrop--image{background-image:url(/images/shrines/shrine-bird.png);background-size:cover;background-position:center;animation:none}.shb__backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(5,8,16,.5) 95%);pointer-events:none}.shb__card{position:relative;z-index:1;max-width:480px;width:100%;padding:32px 32px 24px;background:var(--shb-card-bg);border:1px solid var(--shb-card-border);border-radius:28px;backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);box-shadow:0 30px 60px #00000073,0 8px 24px #00000040,inset 0 1px #f4ede014;animation:shbCardEnter 1.6s cubic-bezier(.16,.84,.3,1) both}@keyframes shbCardEnter{0%{opacity:0;transform:translateY(28px) scale(.96);filter:blur(8px)}50%{opacity:.9;filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.shb__head{margin-bottom:22px}.shb__kicker{font-family:SF Mono,JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.24em;color:var(--shb-cream-dim);text-transform:uppercase;margin:0 0 14px;font-weight:500}.shb__title{font-family:New York,Charter,Iowan Old Style,Georgia,serif;font-weight:500;font-size:clamp(28px,4vw,36px);letter-spacing:-.02em;line-height:1.12;margin:0 0 12px;color:var(--shb-cream)}.shb__sub{font-size:14px;line-height:1.55;color:var(--shb-cream-dim);margin:0;font-weight:400}.shb__perch{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 0 22px}.shb__perch-frame{position:relative;width:180px;height:180px;border-radius:18px;overflow:hidden;background:#00000040;box-shadow:inset 0 1px #f4ede01a,0 18px 38px #00000073}.shb__perch-frame:after{content:"";position:absolute;inset:0;box-shadow:inset 0 -30px 50px #00000040;pointer-events:none}.shb__noun{width:100%;height:100%;object-fit:contain;display:block;image-rendering:pixelated;animation:shbNounEnter 1.8s cubic-bezier(.16,.84,.3,1) both .4s}@keyframes shbNounEnter{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.shb__bird-meta{text-align:center}.shb__bird-name{font-family:New York,Georgia,serif;font-weight:500;font-size:20px;letter-spacing:-.015em;color:var(--shb-cream);margin:0 0 4px}.shb__bird-id{font-family:SF Mono,JetBrains Mono,monospace;font-size:10px;letter-spacing:.16em;color:var(--shb-cream-dimmer);text-transform:uppercase;margin:0}.shb__action{position:relative;display:flex;justify-content:center;margin-bottom:22px}.shb__feather{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;padding:12px 22px;background:#d8b8781a;border:1px solid rgba(216,184,120,.32);border-radius:999px;color:var(--shb-accent);font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:transform .2s cubic-bezier(.2,.7,.3,1),background .2s ease,border-color .2s ease}.shb__feather:hover{background:#d8b8782e;border-color:#d8b8788c;transform:translateY(-1px)}.shb__feather:active{transform:translateY(0) scale(.97);transition-duration:80ms}.shb__feather-glyph{font-size:16px;transition:transform .2s cubic-bezier(.2,.7,.3,1)}.shb__feather:hover .shb__feather-glyph{transform:rotate(-12deg)}.shb__feather--given .shb__feather-glyph{animation:shbFeatherDrop 1.1s cubic-bezier(.25,.6,.3,1)}@keyframes shbFeatherDrop{0%{transform:rotate(0) translateY(0)}30%{transform:rotate(-22deg) translateY(2px)}60%{transform:rotate(18deg) translateY(6px)}to{transform:rotate(0) translateY(0)}}.shb__feather-halo{position:absolute;left:50%;top:50%;width:60px;height:60px;transform:translate(-50%,-50%) scale(0);border-radius:50%;pointer-events:none;z-index:1}.shb__feather-halo--active{animation:shbHalo 1.4s cubic-bezier(.25,.6,.3,1) forwards}@keyframes shbHalo{0%{transform:translate(-50%,-50%) scale(0);background:#d8b87859}60%{background:#d8b87826}to{transform:translate(-50%,-50%) scale(8);background:#d8b87800}}.shb__foot{text-align:center}.shb__nav{display:inline-flex;align-items:center;gap:10px;margin-bottom:10px}.shb__nav-btn{width:28px;height:28px;border:1px solid rgba(244,237,224,.12);background:#f4ede00a;color:var(--shb-cream-dim);border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;transition:background .15s ease,color .15s ease}.shb__nav-btn:hover{background:#f4ede01a;color:var(--shb-cream)}.shb__date{font-family:SF Mono,JetBrains Mono,monospace;font-size:11px;letter-spacing:.1em;color:var(--shb-cream-dim);min-width:70px;text-align:center}.shb__count{font-family:New York,Georgia,serif;font-style:italic;font-size:13px;color:var(--shb-cream-dim);margin:0 0 10px;letter-spacing:.01em;min-height:1.4em}.shb__count strong{color:var(--shb-accent);font-weight:600;font-style:normal}.shb__links{font-family:SF Mono,JetBrains Mono,monospace;font-size:10px;letter-spacing:.14em;color:var(--shb-cream-dimmer);margin:0}.shb__links a{color:var(--shb-cream-dim);text-decoration:none;transition:color .2s ease}.shb__links a:hover{color:var(--shb-cream)}.shb__dot{display:inline-block;margin:0 6px;opacity:.4}@media(max-width:480px){.shb__card{padding:24px 22px 20px;border-radius:22px}.shb__perch-frame{width:150px;height:150px}}@media(prefers-reduced-motion:reduce){.shb__card,.shb__backdrop,.shb__noun{animation:none}}
