/* Green Badger Daily Stamp; prototype layout plus the supplied impact sequence. */
body.gb-daily-stamp-open{overflow:hidden}
.dm-pack-green-badger .dm-app-bar__stamp-action,
.dm-pack-green-badger .dm-chrome-stamp{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--dm-ivory,#f4f1e8);text-decoration:none;cursor:pointer}
.dm-pack-green-badger .dm-app-bar__stamp-action{position:relative}
.dm-pack-green-badger .dm-app-bar__stamp-action:hover,.dm-pack-green-badger .dm-app-bar__stamp-action:focus-visible,.dm-pack-green-badger .dm-chrome-stamp:hover,.dm-pack-green-badger .dm-chrome-stamp:focus-visible{color:var(--dm-gold,#b89a5b)}
/* Header STAMP icon: calendar, not the old generic plus-in-a-circle. */
.dm-pack-green-badger .gb-daily-stamp-header-icon{position:relative;display:inline-block;width:17px;height:16px;border:1px solid currentColor;border-radius:2px;opacity:.9;box-sizing:border-box}
.dm-pack-green-badger .gb-daily-stamp-header-icon::before{content:"";position:absolute;left:2px;right:2px;top:4px;height:1px;background:currentColor;box-shadow:0 4px 0 rgba(184,154,91,.35)}
.dm-pack-green-badger .gb-daily-stamp-header-icon::after{content:"";position:absolute;left:3px;top:-3px;width:2px;height:5px;border-radius:1px;background:currentColor;box-shadow:8px 0 0 currentColor}
.dm-pack-green-badger .dm-app-bar__stamp-action .gb-daily-stamp-header-icon{width:15px;height:15px}
.dm-pack-green-badger .dm-app-bar__stamp-action .gb-daily-stamp-header-label{font-size:8px;letter-spacing:.12em}
.dm-pack-green-badger .dm-chrome-stamp{min-height:0;padding:0;border:0;border-radius:0;background:transparent;font:inherit;font-size:10px;letter-spacing:.12em}
.gb-daily-stamp-auth{display:grid;justify-items:center;text-align:center;padding:44px 30px 52px}
.gb-daily-stamp-auth img{width:84px;height:84px;object-fit:contain;opacity:.78;filter:sepia(1) saturate(2.4) hue-rotate(355deg) brightness(.82);margin-bottom:22px}
.gb-daily-stamp-auth p{max-width:28em;margin:0;color:#8f9189;font-size:13px;line-height:1.8}
.gb-daily-stamp-auth__link{display:inline-flex;align-items:center;justify-content:center;min-width:150px;min-height:46px;margin-top:24px;border:1px solid #b89a5b;background:#b89a5b;color:#0b0b0a;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.14em}
.gb-daily-stamp-auth__link:hover,.gb-daily-stamp-auth__link:focus-visible{background:transparent;color:#f4f1e8}
.gb-dash-block__head .gb-dash-stamp-trigger{margin-left:auto;border:0;border-bottom:1px solid var(--dm-gold,#b89a5b);background:none;color:var(--dm-gold,#b89a5b);padding:0 0 4px;font-size:9px;letter-spacing:.12em;cursor:pointer}
.gb-dash-block__head .gb-dash-stamp-trigger span{font-size:14px;margin-left:5px}
.gb-daily-stamp-modal{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:28px;opacity:0;pointer-events:none;transition:opacity 420ms cubic-bezier(.37,0,.63,1)}
.gb-daily-stamp-modal.is-open{opacity:1;pointer-events:auto}
.gb-daily-stamp-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(4px)}
.gb-daily-stamp-dialog{position:relative;z-index:1;width:min(1040px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#0f0f0e;color:#f4f1e8;border:1px solid rgba(184,154,91,.42);opacity:0;transform:translateY(8px);transition:opacity 420ms cubic-bezier(.37,0,.63,1),transform 650ms cubic-bezier(.37,0,.63,1);isolation:isolate}
.gb-daily-stamp-modal.is-open .gb-daily-stamp-dialog{opacity:1;transform:none}
.gb-daily-stamp-close{position:absolute;top:17px;right:20px;width:38px;height:38px;border:0;background:none;color:#8f9189;font-size:28px;line-height:1;cursor:pointer}
.gb-daily-stamp-header{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:44px 50px 34px;border-bottom:1px solid rgba(244,241,232,.13)}
.gb-daily-stamp-eyebrow,.gb-daily-stamp-week-meta span,.gb-daily-stamp-ledger span{color:#b89a5b;font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.gb-daily-stamp-header h2{margin:13px 0 0;color:#f4f1e8;font:400 62px/.9 Georgia,"Times New Roman",serif;letter-spacing:-.04em}
.gb-daily-stamp-balance{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:8px;width:max-content;text-align:right}.gb-daily-stamp-balance span{display:block;margin:0;color:#8f9189;font-size:9px;letter-spacing:.14em;line-height:1.1}.gb-daily-stamp-balance strong{display:block;font:400 28px/1 Georgia,"Times New Roman",serif}.gb-daily-stamp-balance small{font-size:12px;color:#b89a5b}
.gb-daily-stamp-content{padding:32px 50px 40px}.gb-daily-stamp-week-meta{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:18px}.gb-daily-stamp-week-meta>div{display:flex;align-items:baseline;gap:14px}.gb-daily-stamp-week-meta strong{font:400 20px Georgia,"Times New Roman",serif}.gb-daily-stamp-week-meta p{margin:0;color:#8f9189;font-size:10px}.gb-daily-stamp-week-meta b{color:#b89a5b;font-weight:500}
.gb-daily-stamp-card{position:relative;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid rgba(244,241,232,.13);border-bottom:1px solid rgba(244,241,232,.13);overflow:hidden}
.gb-daily-stamp-slot{position:relative;min-height:210px;padding:18px 12px 14px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-right:1px solid rgba(244,241,232,.13)}.gb-daily-stamp-slot:last-child{border-right:0}.gb-daily-stamp-slot.is-today{background:rgba(184,154,91,.035);isolation:isolate}.gb-daily-stamp-slot.is-today::before{content:"";position:absolute;inset:-1px;border:1px solid #b89a5b;pointer-events:none}.gb-daily-stamp-day{color:#8f9189;font-size:10px;letter-spacing:.12em}.gb-daily-stamp-date{color:rgba(244,241,232,.35);font-size:9px}.gb-daily-stamp-slot.is-today .gb-daily-stamp-date{color:#b89a5b}
.gb-daily-stamp-seal{width:88px;height:88px;border:1px dashed rgba(184,154,91,.28);border-radius:50%;display:grid;place-items:center;align-content:center;gap:2px;color:rgba(184,154,91,.18);transform:rotate(-7deg);transition:color 700ms cubic-bezier(.37,0,.63,1),border-color 700ms cubic-bezier(.37,0,.63,1),background 700ms cubic-bezier(.37,0,.63,1),transform 700ms cubic-bezier(.37,0,.63,1)}
.gb-daily-stamp-seal img{display:block;width:58px;height:58px;object-fit:contain;opacity:.2;filter:sepia(1) saturate(3) hue-rotate(355deg) brightness(.8)}.gb-daily-stamp-seal small{font-size:7px;letter-spacing:.18em}.gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal{color:#b89a5b;border:2px solid #b89a5b;background:rgba(184,154,91,.05)}.gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal img{opacity:.85}.gb-daily-stamp-slot.is-stamped:nth-child(even) .gb-daily-stamp-seal{transform:rotate(5deg)}.gb-daily-stamp-slot.is-stamped:nth-child(3n) .gb-daily-stamp-seal{transform:rotate(-3deg)}.gb-daily-stamp-slot.is-today.is-stamped .gb-daily-stamp-seal{background:#b89a5b;border-color:#b89a5b;transform:rotate(-2deg)}
.gb-daily-stamp-ledger{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border-top:1px solid rgba(244,241,232,.13);border-bottom:1px solid rgba(244,241,232,.13)}.gb-daily-stamp-ledger>div{padding:20px 22px 21px;border-right:1px solid rgba(244,241,232,.13)}.gb-daily-stamp-ledger>div:first-child{padding-left:0}.gb-daily-stamp-ledger>div:last-child{border-right:0;padding-right:0}.gb-daily-stamp-ledger span{display:block;margin-bottom:9px}.gb-daily-stamp-ledger strong{display:block;font:400 22px Georgia,"Times New Roman",serif}.gb-daily-stamp-ledger small{display:block;margin-top:6px;color:#8f9189;font-size:8px}
.gb-daily-stamp-claim{position:relative;border:1px solid #b89a5b;border-radius:0;background:#0b0b0a;color:#f4f1e8;padding:0 18px;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1;overflow:hidden;transition:transform 220ms cubic-bezier(.37,0,.63,1),border-color 220ms cubic-bezier(.37,0,.63,1),color 220ms cubic-bezier(.37,0,.63,1),background 220ms cubic-bezier(.37,0,.63,1)}.gb-daily-stamp-claim:hover,.gb-daily-stamp-claim:focus-visible{transform:translateY(-1px);border-color:#d0b172;color:#fff3d2}.gb-daily-stamp-claim:focus-visible{outline:2px solid #b89a5b;outline-offset:2px}.gb-daily-stamp-claim:active{transform:translateY(0)}.gb-daily-stamp-claim.is-claimed,.gb-daily-stamp-claim:disabled{background:#0b0b0a;color:#b89a5b;cursor:default;transform:none!important;filter:none!important}.gb-daily-stamp-claim.is-claiming{pointer-events:none}.gb-daily-stamp-claim.is-claiming::after{content:"";position:absolute;top:0;left:-45%;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(184,154,91,.32),transparent);transform:skewX(-18deg);animation:gb-daily-stamp-sheen 630ms ease-out both}
.gb-daily-stamp-claim--header{width:100%;min-width:0;height:36px;margin-top:2px;padding-inline:14px;align-self:stretch;box-shadow:none}
.gb-daily-stamp-flash{display:flex;justify-content:space-between;align-items:center;height:0;opacity:0;overflow:hidden;border-left:2px solid #b89a5b;padding:0 0 0 14px;color:#8f9189;font-size:9px;letter-spacing:.15em;transition:height 380ms cubic-bezier(.37,0,.63,1),opacity 380ms cubic-bezier(.37,0,.63,1),margin 380ms cubic-bezier(.37,0,.63,1)}.gb-daily-stamp-flash strong{color:#b89a5b;font:400 21px Georgia,"Times New Roman",serif;letter-spacing:0}.gb-daily-stamp-flash.is-visible{height:34px;opacity:1;margin-top:12px}.gb-daily-stamp-note{margin:11px 0 0;color:#8f9189;font-size:8px;line-height:1.6}.gb-daily-stamp-footer{display:flex;justify-content:space-between;gap:30px;padding:16px 50px;border-top:1px solid rgba(244,241,232,.13);color:rgba(244,241,232,.28);font-size:8px;letter-spacing:.16em}
.gb-daily-stamp-impact{position:absolute;z-index:8;left:50%;top:50%;width:126px;height:126px;transform:translate(-50%,-50%);pointer-events:none;opacity:0}.gb-daily-stamp-impact__mark,.gb-daily-stamp-impact__ring,.gb-daily-stamp-impact__halo{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:50%}.gb-daily-stamp-impact__mark{width:100px;height:100px;display:grid;place-content:center;text-align:center;border:3px solid #b89a5b;color:#b89a5b;background:radial-gradient(circle at 32% 28%,rgba(244,241,232,.08),transparent 25%),repeating-radial-gradient(circle at 55% 45%,rgba(184,154,91,.045) 0 1px,transparent 1px 4px),rgba(11,11,10,.96);box-shadow:inset 0 0 0 2px rgba(184,154,91,.18),0 0 0 1px rgba(0,0,0,.55);opacity:0;transform:translate(-50%,-120%) scale(1.28) rotate(-13deg);filter:blur(.2px)}.gb-daily-stamp-impact__mark::before{content:"";position:absolute;inset:7px;border:1px dashed rgba(184,154,91,.72);border-radius:50%}.gb-daily-stamp-impact__mark img{width:60px;height:60px;object-fit:contain;filter:sepia(1) saturate(3) hue-rotate(355deg) brightness(.85);margin:auto}.gb-daily-stamp-impact__mark small{margin-top:2px;font-size:7px;font-weight:800;letter-spacing:.24em}.gb-daily-stamp-impact__ring{width:92px;height:92px;border:1px solid rgba(184,154,91,.72);opacity:0}.gb-daily-stamp-impact__halo{width:70px;height:70px;background:radial-gradient(circle,rgba(184,154,91,.25),rgba(184,154,91,.08) 34%,transparent 70%);opacity:0;filter:blur(2px)}.gb-daily-stamp-particle{--tx:0px;--ty:0px;position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#b89a5b;opacity:0;box-shadow:0 0 8px rgba(184,154,91,.32)}.gb-daily-stamp-particle.p1{--tx:58px;--ty:-12px}.gb-daily-stamp-particle.p2{--tx:44px;--ty:40px}.gb-daily-stamp-particle.p3{--tx:8px;--ty:62px}.gb-daily-stamp-particle.p4{--tx:-44px;--ty:41px}.gb-daily-stamp-particle.p5{--tx:-61px;--ty:-5px}.gb-daily-stamp-particle.p6{--tx:-36px;--ty:-48px}.gb-daily-stamp-particle.p7{--tx:4px;--ty:-66px}.gb-daily-stamp-particle.p8{--tx:47px;--ty:-42px}
.gb-daily-stamp-impact.is-active{opacity:1}.gb-daily-stamp-impact.is-active .gb-daily-stamp-impact__mark{animation:gb-daily-stamp-slam 780ms cubic-bezier(.16,.85,.2,1) both}.gb-daily-stamp-impact.is-active .gb-daily-stamp-impact__ring{animation:gb-daily-stamp-ring 700ms cubic-bezier(.12,.72,.1,1) 245ms both}.gb-daily-stamp-impact.is-active .gb-daily-stamp-impact__halo{animation:gb-daily-stamp-halo 650ms ease-out 235ms both}.gb-daily-stamp-impact.is-active .gb-daily-stamp-particle{animation:gb-daily-stamp-particle 600ms cubic-bezier(.12,.72,.1,1) 255ms both}.gb-daily-stamp-slot.is-today.is-revealing .gb-daily-stamp-seal{animation:gb-daily-stamp-seal 760ms cubic-bezier(.2,.72,.18,1) both}.gb-daily-stamp-ledger.is-updated>div{animation:gb-daily-stamp-rise 560ms cubic-bezier(.16,.8,.2,1) both}.gb-daily-stamp-balance.is-updated strong{animation:gb-daily-stamp-pulse 720ms ease-out both}
@keyframes gb-daily-stamp-slam{0%{opacity:0;transform:translate(-50%,-135%) scale(1.35) rotate(-14deg);filter:blur(2px)}18%{opacity:1}47%{opacity:1;transform:translate(-50%,-50%) scale(.88) rotate(-5deg);filter:blur(0)}58%{transform:translate(-50%,-55%) scale(1.03) rotate(-4deg)}70%{transform:translate(-50%,-50%) scale(.96) rotate(-4deg)}100%{opacity:0;transform:translate(-50%,-48%) scale(1.02) rotate(-4deg)}}@keyframes gb-daily-stamp-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.55)}70%{opacity:.18}100%{opacity:0;transform:translate(-50%,-50%) scale(1.72)}}@keyframes gb-daily-stamp-halo{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}@keyframes gb-daily-stamp-particle{0%{opacity:0;transform:translate(0,0) scale(.4)}20%{opacity:.95}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.05)}}@keyframes gb-daily-stamp-seal{0%{transform:rotate(-10deg) scale(.72);filter:blur(1px);opacity:.15}55%{transform:rotate(-1deg) scale(1.08);filter:blur(0);opacity:1}100%{transform:rotate(-2deg) scale(1);opacity:1}}@keyframes gb-daily-stamp-sheen{0%{left:-45%;opacity:0}18%{opacity:1}100%{left:130%;opacity:0}}@keyframes gb-daily-stamp-rise{0%{opacity:.35;transform:translateY(8px)}100%{opacity:1;transform:none}}@keyframes gb-daily-stamp-pulse{0%{transform:none;color:#f4f1e8}42%{transform:scale(1.07);color:#b89a5b}100%{transform:none;color:#f4f1e8}}
@media (max-width:820px){.gb-daily-stamp-modal{padding:12px}.gb-daily-stamp-dialog{max-height:calc(100vh - 24px)}.gb-daily-stamp-header{padding:38px 22px 27px}.gb-daily-stamp-header h2{font-size:50px}.gb-daily-stamp-content{padding:26px 20px 34px}.gb-daily-stamp-week-meta{align-items:flex-start;flex-direction:column;gap:7px}.gb-daily-stamp-card{grid-template-columns:repeat(4,1fr)}.gb-daily-stamp-slot{min-height:160px;border-bottom:1px solid rgba(244,241,232,.13)}.gb-daily-stamp-slot:nth-child(4n){border-right:0}.gb-daily-stamp-slot:nth-child(n+5){border-bottom:0}.gb-daily-stamp-seal{width:72px;height:72px}.gb-daily-stamp-seal img{width:48px;height:48px}.gb-daily-stamp-ledger{grid-template-columns:1fr}.gb-daily-stamp-ledger>div,.gb-daily-stamp-ledger>div:first-child,.gb-daily-stamp-ledger>div:last-child{padding:16px 0;border-right:0;border-bottom:1px solid rgba(244,241,232,.13)}.gb-daily-stamp-ledger>div:last-child{border-bottom:0}.gb-daily-stamp-footer{padding:15px 20px}.gb-daily-stamp-impact{width:108px;height:108px}.gb-daily-stamp-impact__mark{width:86px;height:86px}.gb-daily-stamp-impact__mark img{width:52px;height:52px}}
@media (max-width:820px){.dm-pack-green-badger .dm-app-bar__stamp-action .gb-daily-stamp-header-label{display:none}.dm-pack-green-badger .dm-app-bar__stamp-action{min-width:34px;padding-inline:5px}.gb-daily-stamp-auth{padding:34px 22px 40px}.gb-daily-stamp-auth p{font-size:12px}}
@media (max-width:480px){.gb-daily-stamp-header{align-items:flex-start}.gb-daily-stamp-header h2{font-size:44px}.gb-daily-stamp-balance{gap:7px}.gb-daily-stamp-balance strong{font-size:22px}.gb-daily-stamp-card{grid-template-columns:repeat(2,1fr)}.gb-daily-stamp-slot{min-height:145px;border-right:1px solid rgba(244,241,232,.13)!important;border-bottom:1px solid rgba(244,241,232,.13)!important}.gb-daily-stamp-slot:nth-child(even){border-right:0!important}.gb-daily-stamp-slot:last-child{border-bottom:0!important}.gb-daily-stamp-flash{font-size:8px}.gb-daily-stamp-flash strong{font-size:18px}.gb-dash-block__head .gb-dash-stamp-trigger{font-size:8px}.gb-daily-stamp-claim--header{height:34px;padding-inline:12px;font-size:10px}}
@media (prefers-reduced-motion:reduce){.gb-daily-stamp-modal,.gb-daily-stamp-dialog,.gb-daily-stamp-seal,.gb-daily-stamp-flash{transition:none}.gb-daily-stamp-impact,.gb-daily-stamp-impact *,.gb-daily-stamp-ledger *,.gb-daily-stamp-balance *,.gb-daily-stamp-claim::after,.gb-daily-stamp-flash::after{animation:none!important}.gb-daily-stamp-impact.is-active{opacity:0}}

/* Visual polish: the seal stays quiet, physical, and readable at every size. */
/* Astra applies its own grey/rounded/shadowed default to every bare <button>
   (verified live: without these !important wins, the close control renders as
   a grey box instead of the modal-native control drawn below). */
.gb-daily-stamp-close{top:16px;right:16px;z-index:3;width:38px;height:38px;padding:0;border:1px solid rgba(244,241,232,.2)!important;border-radius:0!important;background:#0b0b0a!important;box-shadow:none!important;color:#c9c6ba;font-size:0;line-height:0;display:grid;place-items:center;transition:border-color 220ms ease,color 220ms ease,background 220ms ease}
.gb-daily-stamp-close::before,.gb-daily-stamp-close::after{content:"";position:absolute;width:15px;height:1px;background:currentColor;transition:background 220ms ease,transform 220ms ease}
.gb-daily-stamp-close::before{transform:rotate(45deg)}
.gb-daily-stamp-close::after{transform:rotate(-45deg)}
.gb-daily-stamp-close:hover,.gb-daily-stamp-close:focus-visible{border-color:#b89a5b!important;background:#141210!important;color:#b89a5b;outline:none}
.gb-daily-stamp-close:focus-visible{box-shadow:0 0 0 2px rgba(184,154,91,.28)!important}
.gb-daily-stamp-dialog--auth{display:flex;flex-direction:column;min-height:min(620px,calc(100vh - 40px))}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-header{flex:none}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth{position:relative;isolation:isolate;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:translateY(6px);padding:clamp(36px,6vh,72px) 30px clamp(42px,6vh,72px);overflow:hidden}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth::before{content:"";position:absolute;z-index:-1;width:min(360px,82vw);height:min(360px,82vw);border:1px solid rgba(184,154,91,.12);border-radius:50%;background:radial-gradient(circle,rgba(184,154,91,.1),transparent 66%);opacity:.75;animation:gb-daily-stamp-aura 5.8s ease-in-out infinite}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth img{width:clamp(92px,12vw,132px);height:clamp(92px,12vw,132px);margin:0 0 26px;opacity:.84;animation:gb-daily-stamp-breathe 4.6s ease-in-out infinite}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth p{max-width:30em;color:#c7c2b7;line-height:1.9}
.gb-daily-stamp-auth__link{min-width:154px;min-height:48px;margin-top:26px;border-radius:0;background:#b89a5b;color:#0b0b0a;box-shadow:inset 0 0 0 1px rgba(244,241,232,.12);transition:background 240ms ease,color 240ms ease,border-color 240ms ease}
.gb-daily-stamp-auth__link:hover,.gb-daily-stamp-auth__link:focus-visible{border-color:#b89a5b;background:#141210;color:#f4f1e8;outline:none}
.gb-daily-stamp-claim{box-shadow:inset 0 0 0 1px rgba(244,241,232,.12)}
.gb-daily-stamp-ledger>div{transition:background 260ms ease}
.gb-daily-stamp-ledger>div:hover{background:rgba(184,154,91,.045)}
.gb-daily-stamp-flash{position:relative;overflow:hidden}
.gb-daily-stamp-flash.is-visible::after{content:"";position:absolute;top:0;left:-45%;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(184,154,91,.22),transparent);transform:skewX(-18deg);animation:gb-daily-stamp-sheen 900ms ease-out 120ms both}
.gb-daily-stamp-slot.is-today:not(.is-stamped) .gb-daily-stamp-seal{animation:gb-daily-stamp-today-breathe 4.2s ease-in-out infinite}
.gb-daily-stamp-slot.is-today.is-stamped .gb-daily-stamp-seal{box-shadow:0 0 0 5px rgba(184,154,91,.06),0 0 22px rgba(184,154,91,.14)}
.gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal{transition:box-shadow 500ms ease,background 500ms ease,border-color 500ms ease}
@keyframes gb-daily-stamp-breathe{0%,100%{transform:translateY(0) scale(1);filter:sepia(1) saturate(2.4) hue-rotate(355deg) brightness(.82)}50%{transform:translateY(-4px) scale(1.018);filter:sepia(1) saturate(2.8) hue-rotate(355deg) brightness(.9)}}
@keyframes gb-daily-stamp-aura{0%,100%{opacity:.46;transform:scale(.94)}50%{opacity:.82;transform:scale(1.02)}}
@keyframes gb-daily-stamp-today-breathe{0%,100%{transform:rotate(-7deg) scale(1)}50%{transform:rotate(-5deg) scale(1.025)}}
@media (max-width:480px){.gb-daily-stamp-dialog--auth{min-height:calc(100vh - 24px)}.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth{transform:translateY(3px);padding:30px 20px 40px}.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth img{margin-bottom:20px}.gb-daily-stamp-auth__link{margin-top:22px}}
@media (prefers-reduced-motion:reduce){.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth::before,.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth img,.gb-daily-stamp-slot.is-today:not(.is-stamped) .gb-daily-stamp-seal{animation:none!important}}

/* Auth composition: the badger itself is the body centre, independent of copy. */
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth{--gb-auth-badger-size:clamp(96px,12vw,132px);position:relative;display:block;flex:none;height:clamp(360px,42vh,470px);min-height:360px;padding:0;transform:none;overflow:hidden}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth::before{display:none}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth img{position:absolute;z-index:1;left:50%;top:50%;width:var(--gb-auth-badger-size);height:var(--gb-auth-badger-size);margin:0;transform:translate(-50%,-50%);animation:gb-daily-stamp-badger-idle 4.2s ease-in-out infinite}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth p{position:absolute;z-index:2;left:20px;right:20px;top:calc(50% + 88px);max-width:30em;margin:0 auto;text-align:center}
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth__link{position:absolute;z-index:2;left:50%;top:calc(50% + 148px);transform:translateX(-50%);margin:0}
@keyframes gb-daily-stamp-badger-idle{0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(0deg) scale(1)}50%{transform:translate(-50%,-50%) translateY(-3px) rotate(-.8deg) scale(1.012)}}
.gb-daily-stamp-slot.is-today.is-stamped:not(.is-revealing) .gb-daily-stamp-seal{animation:gb-daily-stamp-seal-idle 4.8s ease-in-out infinite}
@keyframes gb-daily-stamp-seal-idle{0%,100%{transform:rotate(-2deg) scale(1)}50%{transform:rotate(-1.3deg) scale(1.012)}}
@media (max-width:480px){.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth{--gb-auth-badger-size:clamp(88px,27vw,108px);height:clamp(320px,46vh,390px);min-height:320px}.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth p{top:calc(50% + 72px);font-size:12px}.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth__link{top:calc(50% + 128px)}}
@media (prefers-reduced-motion:reduce){.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth img,.gb-daily-stamp-slot.is-today.is-stamped .gb-daily-stamp-seal{animation:none!important}}

/* Motion is deliberately event-sized: one entrance settle, then stamped-seal hover only. */
.gb-daily-stamp-dialog--auth .gb-daily-stamp-auth img{animation:none}
.gb-daily-stamp-modal.is-open .gb-daily-stamp-dialog--auth .gb-daily-stamp-auth img{animation:gb-daily-stamp-badger-arrive 720ms cubic-bezier(.2,.78,.24,1) both}
@keyframes gb-daily-stamp-badger-arrive{0%{opacity:0;transform:translate(-50%,-46%) scale(.96)}65%{opacity:1;transform:translate(-50%,-51%) scale(1.012)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.gb-daily-stamp-slot.is-today.is-stamped:not(.is-revealing) .gb-daily-stamp-seal{animation:none}
.gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal{position:relative;will-change:transform;transition:transform 260ms cubic-bezier(.2,.7,.2,1),box-shadow 260ms ease,background 260ms ease}
.gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal::after{content:"";position:absolute;inset:8px;border-radius:50%;pointer-events:none;opacity:0;background:linear-gradient(110deg,transparent 30%,rgba(244,241,232,.42) 49%,transparent 66%);transform:translateX(-18px);transition:opacity 160ms ease}
@media (hover:hover){
	.gb-daily-stamp-slot.is-stamped:hover .gb-daily-stamp-seal,
	.gb-daily-stamp-slot.is-stamped:focus-within .gb-daily-stamp-seal{transform:rotate(2deg) scale(1.035);box-shadow:0 0 0 5px rgba(184,154,91,.06),0 0 18px rgba(184,154,91,.14)}
	.gb-daily-stamp-slot.is-stamped:hover .gb-daily-stamp-seal::after,
	.gb-daily-stamp-slot.is-stamped:focus-within .gb-daily-stamp-seal::after{opacity:1;animation:gb-daily-stamp-seal-shine 620ms ease-out both}
}
@media (hover:none){
	.gb-daily-stamp-slot.is-stamped:active .gb-daily-stamp-seal{transform:rotate(2deg) scale(1.035);box-shadow:0 0 0 5px rgba(184,154,91,.06),0 0 18px rgba(184,154,91,.14)}
	.gb-daily-stamp-slot.is-stamped:active .gb-daily-stamp-seal::after{opacity:1;animation:gb-daily-stamp-seal-shine 620ms ease-out both}
	.gb-daily-stamp-slot.is-stamped.is-touching .gb-daily-stamp-seal{transform:rotate(2deg) scale(1.035);box-shadow:0 0 0 5px rgba(184,154,91,.06),0 0 18px rgba(184,154,91,.14)}
	.gb-daily-stamp-slot.is-stamped.is-touching .gb-daily-stamp-seal::after{opacity:1;animation:gb-daily-stamp-seal-shine 620ms ease-out both}
	.gb-daily-stamp-modal.is-open .gb-daily-stamp-slot.is-stamped:not(.is-today) .gb-daily-stamp-seal{animation:gb-daily-stamp-mobile-settle 560ms ease-out both}
	.gb-daily-stamp-modal.is-open .gb-daily-stamp-slot.is-stamped:nth-child(2) .gb-daily-stamp-seal{animation-delay:70ms}
	.gb-daily-stamp-modal.is-open .gb-daily-stamp-slot.is-stamped:nth-child(3) .gb-daily-stamp-seal{animation-delay:140ms}
	.gb-daily-stamp-modal.is-open .gb-daily-stamp-slot.is-stamped:nth-child(4) .gb-daily-stamp-seal{animation-delay:210ms}
}
@keyframes gb-daily-stamp-mobile-settle{0%{transform:rotate(-7deg) scale(.96);filter:brightness(.78)}65%{transform:rotate(2deg) scale(1.035);filter:brightness(1.06)}100%{transform:rotate(-1deg) scale(1);filter:brightness(1)}}
@media (prefers-reduced-motion:reduce){.gb-daily-stamp-modal.is-open .gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal{animation:none!important}}

/* Keep the checked seal and its date in separate, stable rows. */
.gb-daily-stamp-slot{display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;align-items:stretch;gap:0}
.gb-daily-stamp-day,.gb-daily-stamp-date{position:relative;z-index:2}
.gb-daily-stamp-seal{position:relative;align-self:center;justify-self:center;margin:auto;display:grid;place-items:center;overflow:visible}
.gb-daily-stamp-seal img{display:block;margin:0!important;place-self:center}
.gb-daily-stamp-seal small{display:none}
.gb-daily-stamp-date{min-height:12px;margin-top:8px;line-height:1.2}
.gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal{z-index:1}
.gb-daily-stamp-impact{z-index:8}
@media (hover:hover){
	.gb-daily-stamp-slot.is-stamped:hover .gb-daily-stamp-seal,
	.gb-daily-stamp-slot.is-stamped:focus-within .gb-daily-stamp-seal{transform:rotate(1.5deg) scale(1.02)}
}
@media (hover:none){
	.gb-daily-stamp-slot.is-stamped:active .gb-daily-stamp-seal,
	.gb-daily-stamp-slot.is-stamped.is-touching .gb-daily-stamp-seal{transform:rotate(1.5deg) scale(1.02)}
}
@media (max-width:820px){
	.gb-daily-stamp-modal{height:100dvh}
	.gb-daily-stamp-dialog{max-height:calc(100dvh - 24px)}
}
@keyframes gb-daily-stamp-seal-shine{from{transform:translateX(-18px)}to{transform:translateX(18px)}}
@media (prefers-reduced-motion:reduce){
	.gb-daily-stamp-modal.is-open .gb-daily-stamp-dialog--auth .gb-daily-stamp-auth img{animation:none!important}
	.gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal{transition:none}
	.gb-daily-stamp-slot.is-stamped .gb-daily-stamp-seal::after{animation:none!important}
}

/* Mobile chrome: reserve a real close-button lane and keep the stamp dates in-flow. */
@media (max-width:820px){
	.gb-daily-stamp-dialog{width:100%;box-sizing:border-box}
	.gb-daily-stamp-header{position:relative;box-sizing:border-box;padding-right:74px}
	.gb-daily-stamp-header .gb-daily-stamp-balance{min-width:0;margin-left:auto}
	.gb-daily-stamp-close{top:12px;right:12px;width:36px;height:36px}
	.gb-daily-stamp-slot{box-sizing:border-box}
	.gb-daily-stamp-slot .gb-daily-stamp-seal{flex:0 0 auto;align-self:center;margin-block:auto}
	.gb-daily-stamp-impact{left:50%;top:50%;transform:translate(-50%,-50%)}
	.gb-daily-stamp-date{display:block;min-height:12px;margin-top:6px;line-height:1.2}
}
@media (max-width:480px){
	.gb-daily-stamp-header{padding-right:68px}
	.gb-daily-stamp-close{top:10px;right:10px}
	.gb-daily-stamp-balance span{font-size:8px}
	.gb-daily-stamp-balance strong{font-size:20px}
	.gb-daily-stamp-date{margin-top:8px}
}
