@font-face{font-family:New People;src:url('assets/NewPeople-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:New People;src:url('assets/NewPeople-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:New People;src:url('assets/NewPeople-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:New People;src:url('assets/NewPeople-Black.ttf') format('truetype');font-weight:900;font-display:swap}
/* Glass surfaces follow /zhkh2; turquoise colors use the user's updated palette. */
:root{color-scheme:light;--tiffany:#45BFBE;--deep:#05A8A2;--coral:#ef4056;--mint:#d6eeec;--ink:#000;--white:#fff;--deep-ink:#04413f;--paper:#f6fdfc;--muted:rgba(0,0,0,.62);--glass-bg:rgba(255,255,255,.62);--glass-brd:rgba(255,255,255,.85);--shadow-m:0 22px 60px rgba(4,92,88,.12),0 2px 6px rgba(4,92,88,.05);--shadow-tiff:0 18px 42px rgba(69,191,190,.34);--ease:cubic-bezier(.2,.82,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{min-width:320px;background:var(--paper);-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font-family:New People,Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{font:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible{outline:3px solid var(--deep);outline-offset:5px}
::selection{background:rgba(69,191,190,.28)}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(120% 90% at 50% -10%,#fff 0%,#f2fbfa 42%,#eaf8f7 100%)}
.aurora-blob{position:absolute;display:block;border-radius:50%;filter:blur(80px);opacity:.55;will-change:transform;animation:aurora-drift 28s ease-in-out infinite alternate}
.blob-1{--from-x:-3vw;--from-y:0vh;--to-x:13vw;--to-y:12vh;width:52vw;height:52vw;left:-14vw;top:-12vw;background:radial-gradient(circle at 30% 30%,rgba(69,191,190,.55),rgba(69,191,190,0) 68%);animation-delay:-9s}
.blob-2{--from-x:4vw;--from-y:8vh;--to-x:-12vw;--to-y:-6vh;width:46vw;height:46vw;right:-12vw;top:8vh;background:radial-gradient(circle at 60% 40%,rgba(214,238,236,.95),rgba(214,238,236,0) 70%);animation-duration:34s;animation-delay:-20s}
.blob-3{--from-x:-9vw;--from-y:5vh;--to-x:12vw;--to-y:-16vh;width:38vw;height:38vw;left:16vw;top:62vh;background:radial-gradient(circle at 50% 50%,rgba(5,168,162,.34),rgba(5,168,162,0) 70%);animation-duration:30s;animation-delay:-14s}
/* Coral #E74357 is a soft accent within the moving background. */
.blob-4{--from-x:4vw;--from-y:6vh;--to-x:-14vw;--to-y:-16vh;width:42vw;height:42vw;right:-5vw;top:36vh;opacity:.72;background:radial-gradient(circle at 50% 50%,rgba(231,67,87,.4),rgba(231,67,87,0) 70%);animation-duration:26s;animation-delay:-7s}
@keyframes aurora-drift{from{transform:translate3d(var(--from-x),var(--from-y),0) scale(.96)}to{transform:translate3d(var(--to-x),var(--to-y),0) scale(1.16)}}
.aurora-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(69,191,190,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(69,191,190,.055) 1px,transparent 1px);background-size:68px 68px;mask-image:radial-gradient(110% 80% at 50% 20%,#000 20%,transparent 78%)}
.page-shell{width:100%;height:100svh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding: max(10px,env(safe-area-inset-top)) max(0px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(0px,env(safe-area-inset-left))}
.site-header{width:min(1200px,calc(100% - 40px));margin:0 auto;min-height:56px;padding:7px 12px 7px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--glass-brd);border-radius:36px;background:var(--glass-bg);-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);box-shadow:0 8px 28px rgba(4,92,88,.07),inset 0 1px 0 #fff}
.brand{display:flex;align-items:center;gap:17px}.party-logo{display:block;width:52px;height:auto}.brand-name{display:flex;flex-direction:column;gap:2px;padding-left:17px;border-left:1px solid rgba(69,191,190,.25);font-size:14px;line-height:1.1}.brand strong{font-weight:600}
.header-caption{color:var(--muted);font-size:14px}
.home-link{display:flex;align-items:center;gap:16px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.68);border:1px solid rgba(69,191,190,.3);font-size:14px;color:var(--deep-ink);transition:background .25s,transform .25s var(--ease)}
.home-link svg{width:18px;height:18px}.home-link:hover{background:rgba(255,255,255,.92);transform:translateY(-2px)}
.experience{--fortune-size:clamp(2rem,4.8dvh,2.75rem);width:min(1080px,calc(100% - 40px));min-height:0;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:10px;text-align:center}
.intro{position:relative;z-index:2;max-width:100%}
.eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0 0 6px;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:#087d78}
.eyebrow svg{width:16px;height:16px}
h1{margin:0;font-size:clamp(3rem,7.5dvh,4.5rem);font-weight:900;line-height:1.03;letter-spacing:-.035em;color:var(--ink)}
h1>span,.fortune-text em{background:linear-gradient(100deg,var(--tiffany),var(--deep));-webkit-background-clip:text;background-clip:text;color:transparent}
.intro-text{margin:6px 0 0;color:var(--ink);font-size:16px;line-height:1.25}
/* The dog uses the remaining height; the result and controls keep their space. */
.dog-stage{position:relative;width:min(680px,100%);height:100%;min-height:0;container-type:size;display:grid;place-items:center}
.stage-glow{position:absolute;top:9%;bottom:3%;left:12%;right:12%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.95) 10%,rgba(255,255,255,.75) 45%,rgba(255,255,255,0) 72%);pointer-events:none}
.dog-media{position:relative;width:min(26rem,100cqh,100%);aspect-ratio:1;border:1px solid rgba(255,255,255,.9);border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 16px 48px rgba(4,92,88,.07)}
.dog-button{position:relative;display:block;width:100%;aspect-ratio:1;border:0;padding:0;background:#fff;border-radius:inherit;isolation:isolate}
.dog-image,.dog-video,.dog-held-frame{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;border:0;user-select:none;pointer-events:none;background:#fff}
.dog-image{z-index:0}
.dog-video{z-index:1;opacity:0}
.dog-video.is-visible{opacity:1}
#dog-working{z-index:2}
.dog-held-frame{z-index:3;opacity:0}.dog-held-frame.is-held{opacity:1}
.dog-button[aria-disabled=true]{cursor:progress}
.dog-button:focus-visible{outline-offset:-12px}
.dog-bubble{position:absolute;top:24%;right:0;z-index:3;padding:14px 18px;border:1px solid var(--glass-brd);border-radius:24px 24px 24px 6px;background:rgba(255,255,255,.35);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);box-shadow:0 12px 34px rgba(4,92,88,.09),inset 0 1px 0 #fff;transform:rotate(5deg);text-align:left;color:var(--ink);font-size:18px;line-height:1.1;pointer-events:none;transition:transform .35s var(--ease)}
.dog-bubble span{display:block;margin-top:5px;font-size:14px;color:var(--muted)}
.touch-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.fortune-panel{position:relative;z-index:4;width:min(800px,100%);padding:16px 28px 13px;border:1px solid rgba(255,255,255,.82);border-radius:32px;background:radial-gradient(ellipse at 3% 0%,rgba(255,255,255,.48),transparent 60%),linear-gradient(140deg,rgba(255,255,255,.34),rgba(255,255,255,.16));-webkit-backdrop-filter:blur(32px) saturate(170%);backdrop-filter:blur(32px) saturate(170%);box-shadow:0 14px 48px rgba(4,92,88,.1),inset 0 1px 1px rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.45)}
.fortune-top{min-height:16px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--deep-ink)}
.fortune-number{font-variant-numeric:tabular-nums;color:var(--muted)}
.fortune-number:not(:empty)::before{content:'/';padding-right:12px;font-weight:400;color:#b4ceca}
.fortune-content{display:grid;place-items:center;font-size:var(--fortune-size);height:clamp(128px,18dvh,196px);min-height:0;padding:8px 0 12px}
.fortune-text{margin:0;max-width:100%;font-size:inherit;font-weight:600;line-height:1.12;letter-spacing:-.015em;text-wrap:pretty;overflow-wrap:break-word;color:var(--ink)}
.fortune-text em{font-style:normal}
.fortune-action{width:min(330px,100%);min-height:50px;margin:auto;padding:12px 23px;border:0;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:20px;color:var(--white);background:linear-gradient(135deg,var(--tiffany),var(--deep));box-shadow:var(--shadow-tiff);font-size:17px;font-weight:700;transition:transform .3s var(--ease),box-shadow .3s}
.fortune-action svg{width:21px;height:21px;transition:transform .25s}
.fortune-action:hover{transform:translateY(-2px);box-shadow:0 24px 54px rgba(69,191,190,.44)}
.fortune-action:hover svg{transform:translateX(3px)}
.fortune-action:active{transform:scale(.98)}
.fortune-action[aria-disabled=true]{cursor:progress}
.fortune-actions{width:min(550px,100%);display:flex;align-items:stretch;gap:10px;margin:0 auto}
.fortune-actions .fortune-action{min-width:0}
.has-fortune .fortune-action{flex:1;width:auto;margin:0}
.fortune-share{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 17px;border:1px solid rgba(5,168,162,.4);border-radius:999px;background:rgba(255,255,255,.7);color:var(--deep-ink);font-size:14px;font-weight:600;line-height:1.2}
.fortune-share svg{width:20px;height:20px}
.fortune-share:hover{background:#fff;border-color:var(--deep)}
.fortune-share:disabled{opacity:.55;cursor:progress}
.fortune-share[hidden],.share-dialog [hidden]{display:none!important}
@media(max-width:600px){.fortune-actions{gap:8px}.fortune-share{width:48px;flex-basis:48px;padding:10px}.share-button-text{display:none}.has-fortune .fortune-action>svg{display:none}}
.action-status{margin:7px 0 0;min-height:16px;color:var(--muted);font-size:12px;line-height:1.3}
.third-fortune-hint{display:block;margin-top:2px;color:var(--deep-ink);font-weight:600}
.site-footer{width:min(1200px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;line-height:1.3}
.footer-note a{color:var(--deep-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--deep)}
.footer-note a:hover{color:var(--deep);text-decoration-color:currentColor}
.publication-footer{min-height:30px;display:flex;align-items:center;justify-content:center;padding:5px max(clamp(12px,2vw,32px),env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(clamp(12px,2vw,32px),env(safe-area-inset-left));border-top:1px solid rgba(4,65,63,.14);background:rgba(246,253,252,.97);color:rgba(4,65,63,.68);overflow-wrap:break-word}
.publication-footer p{width:min(1600px,100%);margin:0;font-size:clamp(6px,.5vw,7px);font-weight:400;line-height:1.25;text-align:center}
.legal-menu{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 16px;padding:0 max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(246,253,252,.97);color:#748783;font-size:9px;font-weight:400;line-height:1.4;text-align:center}
.legal-menu a{display:inline-flex;align-items:center;justify-content:center;min-height:24px;text-decoration:underline;text-decoration-color:rgba(116,135,131,.2);text-underline-offset:2px}
.legal-menu a:hover{color:var(--deep-ink);text-decoration-color:currentColor}
@media(max-width:600px){.legal-menu{flex-direction:column;gap:0}}
@media(max-width:900px){.publication-footer{min-height:48px;align-items:flex-start;padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right))}.publication-footer p{font-size:5px;line-height:1.22;text-align:left}}
.counter-card{max-width:100%;display:grid;grid-template-columns:auto auto;align-items:center;gap:0 10px}
.counter-label{font-size:14px;color:var(--ink)}
.counter-value{font-size:26px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;color:var(--deep)}
.counter-status{grid-column:1/-1;font-size:12px;color:var(--muted)}
.fortune-burst{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden;contain:strict}
.fortune-burst>span{position:absolute;left:var(--burst-x);top:var(--burst-y);pointer-events:none}
.burst-face,.burst-center{background:url('assets/shiba-burst.png') center/contain no-repeat;will-change:transform,opacity}
.burst-face{width:var(--size);height:var(--size);margin:calc(var(--size) * -.5);opacity:0;filter:drop-shadow(0 3px 5px rgba(73,46,10,.2));animation:shiba-fly var(--duration) cubic-bezier(.12,.62,.28,1) var(--delay) both}
.burst-center{width:104px;height:104px;margin:-52px;opacity:0;filter:drop-shadow(0 0 12px rgba(255,255,255,.95)) drop-shadow(0 7px 18px rgba(69,191,190,.35));animation:shiba-pop 1200ms var(--ease) both}
.burst-ring{width:110px;height:110px;margin:-55px;border:3px solid rgba(69,191,190,.95);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.85),rgba(69,191,190,.3) 35%,transparent 70%);box-shadow:0 0 30px rgba(69,191,190,.45),inset 0 0 20px rgba(255,255,255,.8);opacity:0;animation:shiba-ring 1600ms ease-out both}
.burst-sparkle{width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--spark-color);box-shadow:0 0 12px var(--spark-color);opacity:0;animation:shiba-spark 2200ms ease-out var(--delay) both}
.fortune-panel.is-celebrating{animation:fortune-light 1400ms var(--ease) both}
.fortune-content.is-arriving{animation:reveal 720ms var(--ease) both}
.noscript{padding:20px;color:var(--deep-ink);background:var(--mint);text-align:center}
.share-open{overflow:hidden}
.share-dialog{width:min(900px,calc(100% - 32px));max-width:none;max-height:calc(100svh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:32px;border:1px solid rgba(255,255,255,.9);border-radius:32px;overflow:auto;overscroll-behavior:contain;color:var(--ink);background:#f6fdfc;box-shadow:0 24px 80px rgba(4,65,63,.2)}
.share-dialog:not([open]){display:none}
.share-dialog::backdrop{background:rgba(4,65,63,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.share-close{position:absolute;top:12px;right:12px;z-index:1;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(5,168,162,.2);border-radius:50%;background:#fff;color:var(--deep-ink)}
.share-close svg{width:20px;height:20px}
.share-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:28px}
.share-preview-wrap{display:grid;place-items:center;aspect-ratio:1200/630;min-width:0;overflow:hidden;border-radius:22px;background:#e2f4f2;border:1px solid rgba(5,168,162,.12)}
.share-preview-wrap img{display:block;width:100%;height:100%;object-fit:contain}
.share-preview-wrap p{padding:24px;font-size:15px;line-height:1.4;text-align:center;color:var(--deep-ink)}
.share-controls{min-width:0}
.share-controls h2{margin:8px 16px 10px 0;font-size:30px;line-height:1.08;font-weight:900}
.share-controls>p{margin:0 0 18px;font-size:15px;line-height:1.4;color:var(--muted)}
.share-native{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;margin:0 0 10px;padding:12px 20px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--tiffany),var(--deep));color:#fff;font-size:16px;font-weight:700}
.share-native svg{width:19px;height:19px}
.share-native:disabled{opacity:.65;cursor:progress}
.share-fallback{margin:0 0 14px}
.share-fallback>p{margin:0 0 8px;font-size:13px;color:var(--deep-ink);font-weight:600}
.share-messengers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.share-messengers a{display:flex;align-items:center;justify-content:center;flex:1;min-height:48px;padding:12px;border-radius:16px;background:var(--deep);color:#fff;font-size:15px;font-weight:700}
.share-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px}
.share-secondary-actions a,.share-secondary-actions button,.share-retry{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:44px;padding:10px 12px;border:1px solid rgba(5,168,162,.3);border-radius:16px;background:#fff;color:var(--deep-ink);font:600 13px/1.25 New People,Arial,sans-serif;text-align:center;cursor:pointer}
#share-copy-image{grid-column:1/-1}
.share-download[aria-disabled=true],.share-secondary-actions button:disabled{opacity:.5;cursor:progress}
.share-retry{width:100%;margin-bottom:18px}
.share-controls label{display:block;margin:0 0 7px;font-size:13px;font-weight:600;color:var(--deep-ink)}
#share-caption{display:block;width:100%;min-height:100px;max-height:240px;resize:vertical;padding:12px;border:1px solid rgba(5,168,162,.22);border-radius:16px;background:rgba(255,255,255,.9);color:#213a38;font:400 13px/1.4 New People,Arial,sans-serif}
#share-caption:focus-visible{outline:2px solid var(--deep);outline-offset:2px}
.share-controls .share-hint{margin:0 0 14px;font-size:12px;line-height:1.35}
.share-controls .share-feedback{margin:0 0 14px;font-size:13px;line-height:1.35;color:var(--deep-ink)}
.share-feedback:empty{display:none}
@media(max-width:600px){.share-dialog{width:calc(100% - 20px);max-height:calc(100svh - 20px);max-height:calc(100dvh - 20px);padding:20px;border-radius:26px}.share-layout{grid-template-columns:minmax(0,1fr);gap:14px}.share-preview-wrap{width:100%;max-width:420px;justify-self:center}.share-controls h2{font-size:25px;margin-top:0}.share-controls>p{font-size:14px;margin-bottom:14px}.share-secondary-actions{margin-bottom:14px}#share-caption{min-height:96px}.share-close{top:10px;right:10px}}
@keyframes reveal{0%{opacity:0;transform:translateY(15px) scale(.94);filter:blur(4px)}48%{opacity:1;transform:translateY(-2px) scale(1.015);filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes shiba-fly{0%{opacity:0;transform:translate3d(0,0,0) rotate(0) scale(.15)}10%{opacity:1}38%{opacity:1;transform:translate3d(var(--mid-x),var(--mid-y),0) rotate(var(--mid-r)) scale(1.08)}72%{opacity:.85}100%{opacity:0;transform:translate3d(var(--end-x),var(--end-y),0) rotate(var(--end-r)) scale(.45)}}
@keyframes shiba-pop{0%{opacity:0;transform:scale(.2) rotate(-12deg)}24%{opacity:1;transform:scale(1.15) rotate(5deg)}48%{opacity:1;transform:scale(.98) rotate(-2deg)}100%{opacity:0;transform:scale(1.45) rotate(6deg)}}
@keyframes shiba-ring{0%{opacity:0;transform:scale(.2)}18%{opacity:.85}100%{opacity:0;transform:scale(3.4)}}
@keyframes shiba-spark{0%{opacity:0;transform:translate(0,0) scale(.2)}16%{opacity:1}100%{opacity:0;transform:translate(var(--end-x),var(--end-y)) scale(.15)}}
@keyframes fortune-light{0%,100%{border-color:rgba(255,255,255,.82);box-shadow:0 14px 48px rgba(4,92,88,.1),inset 0 1px 1px rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.45)}20%{border-color:#45BFBE;box-shadow:0 0 0 6px rgba(69,191,190,.2),0 0 64px rgba(69,191,190,.5),inset 0 0 25px rgba(255,255,255,.9)}}
@media(max-width:760px){
 .page-shell{gap:8px}
 .site-header{width:calc(100% - 24px);min-height:50px;padding:6px 9px 6px 13px;border-radius:26px;gap:10px}.party-logo{width:44px}.brand{gap:10px}.brand-name{font-size:12px;padding-left:10px}.header-caption{display:none}.home-link{font-size:12px;gap:8px;padding:9px 11px}.home-link svg{width:16px;height:16px}
 .experience{--fortune-size:clamp(1.75rem,7.6vw,2.125rem);width:calc(100% - 24px);gap:8px}.eyebrow{letter-spacing:.08em;margin-bottom:5px}.eyebrow svg{width:14px;height:14px}h1{font-size:clamp(2.5rem,11.4vw,4.125rem);letter-spacing:-.03em;line-height:1.05}.intro-text{font-size:14px;line-height:1.25;margin:5px auto 0;max-width:100%}
 .dog-stage{width:min(420px,100%)}.dog-media{width:min(22rem,100cqh,100%);border-radius:24px}.dog-bubble{display:none}
 .burst-center{width:82px;height:82px;margin:-41px}
 .fortune-panel{padding:13px 18px 11px;border-radius:28px;width:min(600px,100%)}.fortune-top{letter-spacing:.055em}.fortune-content{height:clamp(180px,26dvh,240px);padding:8px 0 12px}.fortune-action{font-size:16px;min-height:48px;width:min(360px,100%);padding:11px 16px}.action-status{margin-top:6px;font-size:12px;line-height:1.3}.site-footer{width:calc(100% - 24px);justify-content:center;text-align:center}.footer-note{display:none}.counter-card{column-gap:10px}.counter-value{font-size:24px}
 .aurora-blob{filter:blur(45px)}.blob-1{width:95vw;height:95vw;left:-40vw;top:2vh}.blob-2{width:90vw;height:90vw;right:-40vw;top:25vh}.blob-3{width:90vw;height:90vw;left:-36vw;top:60vh}.blob-4{width:84vw;height:84vw;right:-25vw;top:35vh}
}
@media(max-height:700px){.intro-text{display:none}.page-shell{gap:7px}.experience{gap:7px}.fortune-panel{padding-top:11px;padding-bottom:9px}.dog-bubble{display:none}}
@media(max-width:380px){.brand-name{display:none}.fortune-panel{padding-inline:14px}.fortune-top{letter-spacing:0}.action-status{font-size:12px}}
@media(max-width:340px){.experience{--fortune-size:1.625rem}}
@media(max-width:760px) and (max-height:600px){.eyebrow{display:none}.fortune-panel{padding-block:10px}.counter-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
/* Shallow landscape screens put the result beside the centered dog frame. */
@media(min-width:500px) and (max-height:500px){
 .page-shell{gap:6px;padding-top:max(6px,env(safe-area-inset-top));padding-bottom:max(6px,env(safe-area-inset-bottom))}.site-header{min-height:42px;padding-block:3px}.party-logo{width:40px}.home-link{padding-block:7px}.experience{--fortune-size:clamp(1.5rem,5.8dvh,1.875rem);grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);grid-template-rows:auto minmax(0,1fr);gap:6px 18px}.intro{grid-column:1/-1}.eyebrow,.intro-text{display:none}h1{font-size:2.25rem}.dog-stage{grid-column:1;grid-row:2;width:100%}.fortune-panel{grid-column:2;grid-row:2;align-self:center;padding:10px 16px;border-radius:24px}.fortune-content{height:clamp(100px,calc(100dvh - 200px),190px);padding:6px 0}.fortune-action{min-height:42px;padding:9px 14px;font-size:16px}.fortune-top,.action-status{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.counter-value{font-size:22px}.counter-status,.footer-note{display:none}.site-footer{justify-content:center}.dog-bubble{display:none}
}
@supports not (height:1cqh){.dog-media{width:auto;height:100%;max-width:100%;max-height:26rem}.dog-button{height:100%;width:auto}}
/* Full-screen message follows the portrait and typography of /comics/. */
.campaign-open{overflow:hidden}
.campaign-dialog{position:fixed;inset:0;width:100%;height:100svh;height:100dvh;max-width:none;max-height:none;margin:0;padding:max(64px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));border:0;color:var(--ink);background:rgba(246,253,252,.98);overflow:auto;overscroll-behavior:contain;text-align:center}
.campaign-dialog:not([open]){display:none}
.campaign-dialog[open]{display:flex;animation:campaign-appear .42s ease both}
.campaign-dialog::backdrop{background:rgba(4,65,63,.25);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.campaign-content{width:min(1050px,100%);flex:none;margin:auto}
.campaign-close{position:fixed;z-index:1;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(5,168,162,.2);border-radius:50%;background:rgba(255,255,255,.9);color:var(--deep-ink)}
.campaign-portrait{display:block;width:clamp(80px,12dvh,126px);height:auto;aspect-ratio:4/5;object-fit:cover;margin:0 auto 20px;border:2px solid var(--tiffany);border-radius:24px 24px 10px 10px;box-shadow:0 12px 30px rgba(4,92,88,.15)}
.campaign-heading{margin:0;font-size:clamp(26px,4.2vw,52px);font-weight:400;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.campaign-heading>span{color:var(--deep);font-weight:600}
.campaign-date{white-space:nowrap}
.campaign-vote{max-width:1000px;margin:18px auto 0;color:var(--coral);font-size:clamp(26px,4.2vw,52px);font-weight:900;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.campaign-continue{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;max-width:100%;margin:26px auto 0;padding:12px 22px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--tiffany),var(--deep));color:var(--white);box-shadow:var(--shadow-tiff);font-size:16px;font-weight:700;line-height:1.2;transition:box-shadow .2s,transform .2s}
.campaign-continue:hover{box-shadow:0 24px 54px rgba(69,191,190,.44);transform:translateY(-2px)}
.campaign-close:hover{background:var(--mint)}
.campaign-continue svg{width:20px;height:20px}
@keyframes campaign-appear{from{opacity:0}to{opacity:1}}
@media(max-width:520px){.campaign-dialog{padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right))}.campaign-portrait{width:80px;margin-bottom:18px}.campaign-heading,.campaign-vote{font-size:clamp(24px,7vw,29px)}.campaign-vote{margin-top:16px}.campaign-continue{width:min(310px,100%);margin-top:22px;padding-inline:16px}}
@media(max-height:600px){.campaign-dialog{padding-top:max(54px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.campaign-portrait{width:64px;margin-bottom:12px}.campaign-heading,.campaign-vote{font-size:clamp(22px,3.6vw,30px)}.campaign-vote{margin-top:12px}.campaign-continue{margin-top:18px}}
@media(min-width:500px) and (max-height:450px){.campaign-dialog{padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-inline:max(64px,env(safe-area-inset-left)) max(64px,env(safe-area-inset-right))}.campaign-portrait{display:none}.campaign-heading,.campaign-vote{font-size:clamp(22px,3.5vw,30px)}.campaign-continue{margin-top:16px}}
@media(prefers-reduced-transparency:reduce){.fortune-panel,.dog-bubble{background:rgba(246,253,252,.96);backdrop-filter:none;-webkit-backdrop-filter:none}}
@keyframes aurora-gentle{from{transform:translate3d(-1vw,0,0)}to{transform:translate3d(1vw,-1vh,0)}}
@keyframes reveal-gentle{from{opacity:.45}to{opacity:1}}
@keyframes fortune-gentle{0%,100%{border-color:rgba(255,255,255,.82)}50%{border-color:rgba(69,191,190,.8)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.aurora-blob{animation-name:aurora-gentle;animation-duration:18s}.fortune-content.is-arriving{animation:reveal-gentle 400ms ease both}.fortune-panel.is-celebrating{animation:fortune-gentle 1400ms ease both}.home-link:hover,.fortune-action:hover,.fortune-action:active,.fortune-action:hover svg,.campaign-continue:hover{transform:none}.home-link,.fortune-action,.fortune-action svg,.campaign-continue{transition:none}}
