/* ORA V3 — immersive ritual interface */
:root{
  --v3-bg:#03070c;
  --v3-ink:#f4fbff;
  --v3-cold:#cbeeff;
  --v3-blue:#8bc7e6;
  --v3-line:rgba(219,242,255,.20);
  --v3-dim:rgba(236,248,255,.60);
  --v3-deep:rgba(2,7,13,.78);
}
html,body{background:var(--v3-bg)}
body{overflow:hidden}
.grain{opacity:.045;mix-blend-mode:overlay}
.world{height:100svh;min-height:720px;background:#03070c;overflow:hidden;isolation:isolate}
.hero-video{inset:-1.5%;width:103%;height:103%;object-position:center 51%;filter:saturate(.82) contrast(1.08) brightness(.66);transform:translate3d(var(--px,0px),var(--py,0px),0) scale(1.025)}
.grade{background:
  linear-gradient(180deg,rgba(1,5,9,.48) 0%,rgba(1,5,9,.08) 26%,rgba(1,5,9,.02) 52%,rgba(1,5,9,.50) 100%),
  linear-gradient(90deg,rgba(1,6,11,.44),transparent 32%,transparent 68%,rgba(1,6,11,.36)),
  radial-gradient(ellipse at 50% 69%,rgba(133,205,238,.08),transparent 36%)}
.grade:before{background:linear-gradient(90deg,transparent 49.95%,rgba(220,242,252,.10) 50%,transparent 50.05%)}
.grade:after{background:radial-gradient(ellipse at 50% 69%,transparent 0 16%,rgba(214,239,251,.05) 16.2%,transparent 16.6% 24%,rgba(214,239,251,.035) 24.2%,transparent 24.6%);mix-blend-mode:screen}
.water-light{left:20%;right:20%;bottom:-8%;height:40%;opacity:.40;filter:blur(24px)}
.world:before{content:"";position:absolute;z-index:-4;left:50%;bottom:-17%;width:min(1100px,76vw);aspect-ratio:2.7/1;border:1px solid rgba(205,234,248,.14);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 38px rgba(205,234,248,.025),0 0 0 92px rgba(205,234,248,.018),0 0 100px rgba(112,183,218,.10);pointer-events:none}
.world:after{content:"ORA";position:absolute;z-index:-7;left:50%;top:39%;transform:translate(-50%,-50%);font-family:var(--sans);font-weight:700;font-size:clamp(160px,27vw,430px);letter-spacing:.18em;color:rgba(227,245,255,.028);white-space:nowrap;pointer-events:none;line-height:.72}

/* Header becomes a precise instrument panel */
.topbar{top:0;padding:24px 34px 0;align-items:center}
.topbar:after{content:"";position:absolute;left:34px;right:34px;bottom:-15px;height:1px;background:linear-gradient(90deg,rgba(226,244,253,.30),rgba(226,244,253,.05) 28%,rgba(226,244,253,.05) 72%,rgba(226,244,253,.30))}
.brand-logo{width:78px;filter:drop-shadow(0 5px 14px rgba(0,0,0,.36))}
.nav-actions{gap:18px}
.live-cluster{height:auto;border:0!important;border-radius:0;background:transparent;backdrop-filter:none;overflow:visible;gap:16px}
.live-item{height:auto;padding:0!important;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:rgba(242,249,253,.66)}
.live-item+.live-item{border:0}
.live-dot{width:5px;height:5px}
.nav-btn{height:auto;padding:0;border:0!important;border-radius:0;background:transparent;backdrop-filter:none;font-size:8px;letter-spacing:.16em;color:rgba(243,250,254,.68)}
.nav-btn:hover{background:transparent;color:#fff}
.sound-bars i{width:1px}

/* Hero is an editorial title floating over the water */
.hero-copy{left:50%;top:92px;transform:translateX(-50%);width:min(920px,72vw);text-align:center}
.hero-copy .eyebrow{margin:0 0 14px;font-size:8px;letter-spacing:.42em;color:rgba(232,246,252,.54)}
.hero-copy h1{font-size:clamp(56px,6.2vw,92px);font-weight:360;line-height:.88;letter-spacing:-.055em;text-shadow:0 18px 60px rgba(0,0,0,.46)}
.hero-copy h1 em{display:inline;margin:0 0 0 .16em;color:#f3fbff;font-weight:360;font-style:italic}
.hero-copy p{max-width:500px;margin:14px auto 0;font-size:10px;line-height:1.55;letter-spacing:.025em;color:rgba(235,247,252,.60)}
.poem{right:28px;top:50%;transform:translateY(-50%);max-width:none;writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--sans);font-size:7px;line-height:1;letter-spacing:.38em;color:rgba(235,247,252,.36)}
.poem:after{width:1px;height:54px;margin:16px auto 0;background:rgba(255,255,255,.22)}

/* Ritual: one water aperture with four talismans around it */
.ritual{left:50%;bottom:18px;width:min(1120px,91vw);height:490px;transform:translateX(-50%);display:block;overflow:visible}
.ritual:before{content:"WRITE  /  CHOOSE  /  RELEASE";position:absolute;left:50%;top:164px;transform:translateX(-50%);font-size:7px;letter-spacing:.36em;color:rgba(231,246,253,.34);white-space:nowrap}
.ritual:after{content:"PRIVATE BY DEFAULT";position:absolute;left:50%;bottom:88px;transform:translateX(-50%);font-size:7px;letter-spacing:.32em;color:rgba(231,246,253,.28)}
.coin-orbit{position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;overflow:visible}
.coin-orbit:before,.coin-orbit:after{display:none}
.coin{position:absolute;width:150px;height:154px;border:0;background:transparent;overflow:visible}
.coin:nth-child(1){left:0;top:216px}
.coin:nth-child(2){left:14.5%;top:40px}
.coin:nth-child(3){right:14.5%;top:40px}
.coin:nth-child(4){right:0;top:216px}
.coin img{top:4px;width:100px;height:100px;filter:drop-shadow(0 22px 24px rgba(0,0,0,.56));transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s}
.coin:hover img{transform:translateX(-50%) translateY(-13px) scale(1.08) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.coin .orbit-halo{top:52px;width:98px;height:98px;border-radius:50%;border:1px solid rgba(219,242,255,.0);transform:translate(-50%,-50%) scale(.72)}
.coin .orbit-halo:before,.coin .orbit-halo:after{content:"";position:absolute;inset:-15px;border:1px solid rgba(217,241,252,.11);border-radius:50%;transform:scale(.75);opacity:0;transition:.45s}
.coin .orbit-halo:after{inset:-30px}
.coin[aria-pressed="true"] .orbit-halo{opacity:1;border-color:rgba(218,243,255,.56);border-radius:50%;box-shadow:0 0 40px rgba(129,196,229,.14),inset 0 0 28px rgba(129,196,229,.06);animation:v3halo 3.4s ease-in-out infinite}
.coin[aria-pressed="true"] .orbit-halo:before,.coin[aria-pressed="true"] .orbit-halo:after{opacity:1;transform:scale(1)}
@keyframes v3halo{50%{transform:translate(-50%,-50%) scale(1.08);opacity:.70}}
.coin[aria-pressed="true"] img{animation:v3Coin 3.4s ease-in-out infinite;filter:drop-shadow(0 0 16px rgba(201,237,255,.52)) drop-shadow(0 26px 24px rgba(0,0,0,.48))}
@keyframes v3Coin{0%,100%{transform:translateX(-50%) translateY(-4px) scale(1.04)}50%{transform:translateX(-50%) translateY(-14px) scale(1.08)}}
.coin-label{bottom:0;text-shadow:0 5px 18px rgba(0,0,0,.88)}
.coin-label strong{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,252,255,.84)!important}
.coin-label span{margin-top:5px;font-size:7px;letter-spacing:.10em;text-transform:uppercase;color:rgba(234,247,253,.42)}
.coin[aria-pressed="true"]:after{content:"CURRENT";top:-11px;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;font-size:6px;letter-spacing:.30em;color:#eefaff}

.wish-lens{position:absolute;left:50%;bottom:106px;transform:translateX(-50%);width:min(650px,60vw);height:176px;border-radius:50%;border:1px solid rgba(220,243,254,.28);background:radial-gradient(ellipse at 50% 44%,rgba(185,224,242,.10),rgba(1,7,12,.28) 53%,rgba(1,7,12,.48) 74%,rgba(185,224,242,.035));backdrop-filter:blur(10px) saturate(118%);box-shadow:0 44px 90px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.12),0 0 50px rgba(126,194,225,.08);overflow:visible}
.wish-lens:before{content:"";position:absolute;inset:-27px -70px;border:1px solid rgba(219,242,253,.11);border-radius:50%;background:transparent;animation:v3Water 5.5s ease-in-out infinite;pointer-events:none}
.wish-lens:after{content:"";position:absolute;inset:-55px -130px;border:1px solid rgba(219,242,253,.065);border-radius:50%;box-shadow:none;animation:v3Water 5.5s ease-in-out 1.4s infinite;pointer-events:none}
@keyframes v3Water{0%,100%{transform:scale(.97);opacity:.48}50%{transform:scale(1.025);opacity:.92}}
.wish-lens.awake{border-color:rgba(219,244,255,.56);box-shadow:0 44px 90px rgba(0,0,0,.34),0 0 60px rgba(129,199,232,.15),inset 0 1px 0 rgba(255,255,255,.18)}
.wish-symbol{left:50%;top:21px;transform:translateX(-50%);font-size:12px;color:#f4fbff;text-shadow:0 0 20px rgba(184,228,248,.70)}
.wish-field{height:174px;padding:52px 70px 40px;text-align:center;font-size:clamp(22px,2vw,30px);line-height:1.18;font-weight:350;color:#f5fbff}
.wish-field::placeholder{color:rgba(241,249,253,.43)}
.wish-count{right:48px;top:28px;transform:none;font-size:7px;letter-spacing:.08em;color:rgba(236,247,252,.42)}
.wish-private{left:50%;bottom:22px;transform:translateX(-50%);font-size:6px;letter-spacing:.28em;color:rgba(238,248,253,.34);white-space:nowrap}

.action-row{position:absolute;left:0;right:0;bottom:0;height:72px;display:grid;place-items:center}
.throw-btn{min-width:332px;height:58px;border-radius:2px;border:1px solid rgba(226,246,255,.58);background:linear-gradient(180deg,rgba(235,247,253,.10),rgba(6,14,22,.58));box-shadow:0 20px 50px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.14);font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;overflow:hidden}
.throw-btn:before{inset:-130% -20%;background:linear-gradient(90deg,transparent 34%,rgba(230,248,255,.26),transparent 66%);transform:translateX(-80%);animation:v3Sweep 3.8s ease-in-out infinite}
@keyframes v3Sweep{50%,100%{transform:translateX(80%)}}
.throw-btn:hover{transform:translateY(-2px);background:rgba(235,247,253,.14);box-shadow:0 22px 56px rgba(0,0,0,.34),0 0 28px rgba(142,208,240,.10)}
.throw-btn em{font-style:normal;color:#e9f8ff}
.amount{position:absolute;right:0;top:9px;width:220px;height:48px;justify-content:flex-end;padding:0 0 0 10px;border:0;border-top:1px solid rgba(228,245,253,.18);border-bottom:1px solid rgba(228,245,253,.18);border-radius:0;background:transparent;backdrop-filter:none;font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:rgba(235,248,253,.43)}
.amount b{font-family:var(--sans);font-size:14px;color:rgba(245,251,255,.80)}
.amount input{width:72px;font-size:10px;border-bottom-color:rgba(230,246,253,.18)}
.story-link{position:absolute;left:0;bottom:27px;margin:0;padding:0;color:rgba(235,247,252,.48);font-size:7px;letter-spacing:.18em;text-transform:uppercase}
.story-link:before,.story-link:after{display:none}
.story-link:hover{color:#fff}
.pay-status{bottom:-8px;font-size:8px;border-radius:2px;background:rgba(33,8,9,.88)}

/* Payment return loader — no frosted card */
.return-loader{background:rgba(2,6,11,.88);backdrop-filter:blur(18px)}
.return-loader-inner{width:min(720px,90vw);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.loader-orbits{width:260px;height:118px;margin-bottom:30px}
.loader-orbits span:nth-child(1){width:244px;height:56px;border-color:rgba(215,240,253,.28)}
.loader-orbits span:nth-child(2){width:114px;height:114px;border-color:rgba(215,240,253,.18)}
.return-loader .loader-kicker{font-size:7px;letter-spacing:.38em;color:rgba(236,248,253,.48)}
.return-loader h2{font-size:clamp(52px,7vw,100px);font-weight:350;letter-spacing:-.045em}
.return-loader p{font-size:10px;letter-spacing:.03em;color:rgba(239,248,252,.54)}

/* End state: exhibition wall + vertical relic */
.throw-screen:after{background:linear-gradient(180deg,rgba(1,5,9,.05),rgba(1,5,9,.08) 45%,rgba(1,5,9,.64))}
.prelude{background:radial-gradient(circle at 50% 47%,rgba(103,172,208,.14),rgba(2,6,11,.96) 54%)}
.prelude img{width:min(210px,32vw)}
.ending{place-items:stretch;text-align:left;padding:0;background:rgba(2,6,11,.74);backdrop-filter:blur(18px)}
.ending:before{content:"RELEASED";position:absolute;left:-.04em;bottom:-.14em;font:700 clamp(160px,26vw,420px)/.75 var(--sans);letter-spacing:-.06em;color:rgba(231,247,255,.026);pointer-events:none}
.ending-inner{position:relative;width:100%;height:100%;padding:clamp(56px,8vh,96px) clamp(42px,7vw,110px);border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);grid-template-rows:auto auto auto 1fr auto;column-gap:clamp(52px,7vw,110px);align-items:start}
.wish-number{grid-column:1;grid-row:1;margin:0 0 18px;font-size:7px;letter-spacing:.34em;color:rgba(232,248,255,.46)}
.ending-kicker{grid-column:1;grid-row:2;margin:0 0 14px;font-size:7px;letter-spacing:.38em;color:rgba(232,248,255,.40)}
.ending h2{grid-column:1;grid-row:3;max-width:680px;margin:0;font-size:clamp(58px,7.2vw,112px);font-weight:350;line-height:.82;letter-spacing:-.055em}
.ending p{grid-column:1;grid-row:4;max-width:510px;margin:28px 0 0;font-family:var(--sans);font-size:11px;line-height:1.7;color:rgba(236,247,252,.58)}
.certificate-preview-shell{grid-column:2;grid-row:1/6;align-self:center;justify-self:end;width:min(390px,28vw);aspect-ratio:4/5;margin:0;border-radius:0;padding:0;background:transparent;box-shadow:0 34px 90px rgba(0,0,0,.48),0 0 0 1px rgba(225,245,254,.18)}
.certificate-preview-shell img{border-radius:0;background:#040a10}
.certificate-preview-shell:after{border-radius:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
.ending-actions{grid-column:1;grid-row:5;justify-content:flex-start;gap:12px}
.ending-btn{height:52px;padding:0 22px;border-radius:2px;background:transparent;border:1px solid rgba(229,245,253,.24);font-size:7px;letter-spacing:.18em}
.ending-btn.primary{background:#eef9ff;color:#071018;border-color:#eef9ff}

/* Return story — editorial, no blob card */
.overlay{background:radial-gradient(circle at 50% 22%,rgba(31,82,110,.34),rgba(2,7,12,.96) 58%);padding:38px}
.story-world{width:min(980px,92vw);text-align:left}
.story-world:before{content:"RETURN";position:fixed;left:4vw;bottom:-.08em;font:700 clamp(140px,24vw,360px)/.78 var(--sans);letter-spacing:-.06em;color:rgba(230,246,254,.025);pointer-events:none}
.close-overlay{right:0;top:0;width:42px;height:42px;border-radius:0;border:1px solid rgba(237,248,253,.20);background:transparent;font-size:18px}
.story-world .eyebrow{font-size:7px;letter-spacing:.38em}
.story-world h2{font-size:clamp(60px,8.5vw,118px);line-height:.80;max-width:700px;margin-bottom:26px}
.story-world h3{font-size:clamp(54px,7vw,92px);line-height:.84;max-width:680px}
.story-world>div>p{max-width:540px;margin:0 0 26px;font-size:10px;line-height:1.65;color:rgba(236,247,252,.56)}
.story-glass{max-width:720px;margin:0 0 16px;border:0;border-top:1px solid rgba(229,246,254,.24);border-bottom:1px solid rgba(229,246,254,.24);border-radius:0;background:rgba(255,255,255,.02);backdrop-filter:blur(10px)}
.story-glass textarea{height:170px;padding:24px 0;font-size:25px}
.story-options{font-size:8px;letter-spacing:.04em;margin:12px 0 20px}
.story-submit,.tip-btn,.tip-custom-line button{height:48px;border-radius:2px;background:transparent;border-color:rgba(223,244,254,.28);font-size:7px;letter-spacing:.18em}
.tip-row{justify-content:flex-start}
.tip-custom-line{justify-content:flex-start}
.tip-custom-line input{border-radius:2px;background:transparent}

.toast{border-radius:2px;background:rgba(4,12,19,.92);font-size:8px;letter-spacing:.12em}

@media(max-width:1100px){
  .hero-copy{width:min(820px,74vw)}
  .ritual{width:min(1000px,92vw)}
  .coin:nth-child(2){left:11%}.coin:nth-child(3){right:11%}
  .wish-lens{width:min(620px,62vw)}
  .amount{width:190px}
}

@media(min-width:761px) and (max-height:760px){
  body{overflow:hidden}.world{min-height:620px;height:100svh}
  .topbar{padding-top:17px}.topbar:after{bottom:-10px}
  .hero-copy{top:58px}.hero-copy .eyebrow{margin-bottom:9px}.hero-copy h1{font-size:clamp(48px,5.4vw,70px)}.hero-copy p{margin-top:9px;font-size:8px}
  .ritual{height:380px;bottom:6px}.ritual:before{top:124px}.ritual:after{bottom:66px}
  .coin{width:126px;height:128px}.coin img{width:80px;height:80px}.coin .orbit-halo{top:44px;width:78px;height:78px}.coin:nth-child(1),.coin:nth-child(4){top:164px}.coin:nth-child(2),.coin:nth-child(3){top:24px}.coin-label strong{font-size:8px}.coin-label span{font-size:6px}
  .wish-lens{bottom:83px;width:min(560px,56vw);height:132px}.wish-field{height:130px;padding:40px 62px 31px;font-size:22px}.wish-symbol{top:16px}.wish-private{bottom:16px}.wish-count{top:20px}
  .action-row{height:58px}.throw-btn{height:48px;min-width:300px}.amount{height:40px;top:7px}.story-link{bottom:21px}
}

@media(max-width:760px){
  html,body{overflow-x:hidden}
  body{overflow-y:auto;background:#03070c}
  .world{height:auto;min-height:100svh;padding-bottom:max(20px,env(safe-area-inset-bottom));overflow:hidden}
  .hero-video{position:fixed;inset:0;width:100%;height:100%;object-position:50% 43%;filter:saturate(.82) contrast(1.06) brightness(.48);transform:none}
  .grade{position:fixed;background:linear-gradient(180deg,rgba(2,6,11,.42),rgba(2,6,11,.08) 35%,rgba(2,6,11,.28) 70%,rgba(2,6,11,.62))}
  .world:before{position:fixed;width:120vw;bottom:-2%;opacity:.65}.world:after{position:fixed;top:40%;font-size:48vw;opacity:.7}
  .topbar{position:relative;padding:calc(16px + env(safe-area-inset-top)) 14px 0;align-items:center}.topbar:after{left:14px;right:14px;bottom:-12px}
  .brand-logo{width:68px}.nav-actions{gap:10px}.live-cluster{gap:8px}.live-item{font-size:6px}.live-item .unit{display:none}.nav-btn{width:28px;height:28px;justify-content:center}.nav-btn .label{display:none}.about-desktop{font-size:0}.about-desktop:after{content:"INFO";font-size:6px;letter-spacing:.12em}.sound-bars{transform:scale(.8)}
  .hero-copy{position:relative;left:auto;top:auto;transform:none;width:auto;margin:54px 16px 0;text-align:left}
  .hero-copy .eyebrow{font-size:6px;letter-spacing:.30em;margin-bottom:9px}.hero-copy h1{font-size:clamp(44px,14vw,62px);line-height:.82;max-width:340px}.hero-copy h1 em{display:block;margin:3px 0 0}.hero-copy p{margin:13px 0 0;max-width:320px;font-size:9px;line-height:1.55}.poem{display:none}
  .ritual{position:relative;left:auto;bottom:auto;transform:none;width:100%;height:auto;margin:32px 0 0;padding:0 14px 26px;display:flex;flex-direction:column;gap:14px}
  .ritual:before,.ritual:after{display:none}
  .coin-orbit{position:relative;inset:auto;order:2;width:100%;height:126px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(229,246,254,.14);border-bottom:1px solid rgba(229,246,254,.14)}
  .coin{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%;height:124px;border-right:1px solid rgba(229,246,254,.08)}.coin:last-child{border-right:0}
  .coin img{top:9px;width:62px;height:62px}.coin .orbit-halo{top:38px;width:61px;height:61px}.coin .orbit-halo:before{inset:-7px}.coin .orbit-halo:after{inset:-14px}.coin-label{bottom:10px}.coin-label strong{font-size:7px}.coin-label span{font-size:5.5px;margin-top:3px}.coin[aria-pressed="true"]:after{top:4px;font-size:4.5px;letter-spacing:.20em}
  .wish-lens{position:relative;left:auto;bottom:auto;transform:none;order:1;width:100%;height:140px;border-radius:0;border-left:0;border-right:0;background:linear-gradient(180deg,rgba(206,235,249,.04),rgba(2,7,12,.12));backdrop-filter:blur(8px);box-shadow:none;overflow:visible}
  .wish-lens:before{inset:10px 18px;border-radius:50%}.wish-lens:after{inset:26px 54px;border-radius:50%}
  .wish-symbol{top:17px}.wish-field{height:138px;padding:42px 30px 34px;font-size:22px;line-height:1.16}.wish-count{right:10px;top:10px;font-size:6px}.wish-private{bottom:12px;font-size:5.5px;letter-spacing:.20em}
  .action-row{position:relative;left:auto;right:auto;bottom:auto;order:3;width:100%;height:auto;display:grid;grid-template-columns:1fr;gap:9px}
  .throw-btn{order:1;width:100%;min-width:0;height:56px;font-size:9px;border-radius:1px}
  .amount{position:relative;right:auto;top:auto;order:2;width:100%;height:44px;justify-content:center;border-top:1px solid rgba(228,245,253,.13);border-bottom:1px solid rgba(228,245,253,.13)}
  .pay-status{bottom:-28px;max-width:90vw;white-space:normal;text-align:center}
  .story-link{position:relative;left:auto;bottom:auto;order:4;align-self:center;margin-top:0;font-size:6px}

  .ending{overflow-y:auto;padding:0}.ending:before{font-size:42vw;bottom:-.04em}
  .ending-inner{height:auto;min-height:100svh;padding:calc(44px + env(safe-area-inset-top)) 18px calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .wish-number{margin-bottom:9px}.ending-kicker{margin-bottom:12px}.ending h2{font-size:clamp(52px,16vw,74px);max-width:340px}.ending p{margin:18px 0 24px;max-width:330px;font-size:10px;line-height:1.58}
  .certificate-preview-shell{width:min(320px,82vw);aspect-ratio:4/5;align-self:center;margin:4px auto 24px}
  .ending-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.ending-btn{width:100%;height:48px}

  .overlay{padding:calc(34px + env(safe-area-inset-top)) 16px 30px}.story-world{width:100%}.story-world h2{font-size:16vw;max-width:340px}.story-world h3{font-size:14vw}.story-world>div>p{font-size:9px}.story-glass textarea{height:154px;font-size:21px}.close-overlay{right:0;top:-16px}.story-world:before{font-size:45vw}
}

@media(max-width:390px){
  .hero-copy{margin-top:46px}.hero-copy h1{font-size:46px}.hero-copy p{max-width:290px}
  .ritual{margin-top:24px;padding-left:10px;padding-right:10px}.coin-orbit{height:116px}.coin{height:114px}.coin img{width:56px;height:56px}.coin .orbit-halo{top:34px;width:55px;height:55px}.coin-label{bottom:9px}.coin-label strong{font-size:6.5px}.coin-label span{font-size:5px}
  .wish-lens{height:128px}.wish-field{height:126px;font-size:20px;padding-top:39px}.throw-btn{height:53px}
}

@media(prefers-reduced-motion:reduce){.wish-lens:before,.wish-lens:after,.coin[aria-pressed="true"] img,.coin[aria-pressed="true"] .orbit-halo,.throw-btn:before{animation:none!important}}
/* Final mobile contrast correction */
@media(max-width:760px){.throw-btn{color:#f4fbff}.throw-btn em{color:#f4fbff}.amount input{color:#f4fbff}}

/* V4 — clear live metrics + visitor count */
.topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:24px}
.brand{grid-column:1}.live-cluster{grid-column:2;justify-self:end;margin-left:auto;display:flex;align-items:center;gap:22px}.nav-actions{grid-column:3}
.live-item{display:flex;align-items:center;gap:7px;min-width:0}.stat-mark{width:10px;display:inline-flex;align-items:center;justify-content:center;color:rgba(224,244,255,.60);font-size:8px;line-height:1}.online-mark{width:7px}.stat-copy{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.stat-copy b{font-size:10px;font-weight:600;letter-spacing:.03em;color:#f4fbff;font-variant-numeric:tabular-nums}.stat-label{font-size:7px;letter-spacing:.15em;text-transform:uppercase;color:rgba(235,247,253,.46)}

@media(max-width:760px){
  .topbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:12px;row-gap:11px;padding:calc(14px + env(safe-area-inset-top)) 14px 0}
  .topbar:after{bottom:-13px}
  .brand{grid-column:1;grid-row:1;justify-self:start}.nav-actions{grid-column:2;grid-row:1;justify-self:end;gap:11px}.live-cluster{grid-column:1 / -1;grid-row:2;justify-self:stretch;margin:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(220,243,254,.15)!important;border-bottom:1px solid rgba(220,243,254,.15)!important;padding:8px 0 7px}
  .live-item{min-height:34px;justify-content:center;gap:8px;position:relative}.live-item+.live-item:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;background:rgba(220,243,254,.12)}
  .stat-mark{width:9px;font-size:7px}.online-mark{width:7px}.live-dot{width:6px;height:6px}
  .stat-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1}.stat-copy b{font-size:13px;line-height:1.05;letter-spacing:.01em}.stat-label{font-size:6px;line-height:1.2;letter-spacing:.17em;color:rgba(237,248,253,.52)}
  .hero-copy{margin-top:31px}
}
@media(max-width:390px){
  .live-cluster{padding-left:1px;padding-right:1px}.live-item{gap:6px}.stat-copy b{font-size:12px}.stat-label{font-size:5.7px;letter-spacing:.13em}.hero-copy{margin-top:28px}
}


/* V5 — favicon, explicit image download, clearer mobile water visibility */
@media(max-width:760px){
  .hero-video{object-position:50% 46%;filter:saturate(.84) contrast(1.05) brightness(.54)}
  .topbar{padding:calc(12px + env(safe-area-inset-top)) 12px 0;row-gap:10px}
  .topbar:after{left:12px;right:12px;bottom:-10px}
  .brand-logo{width:72px}
  .live-cluster{padding:6px 0;background:linear-gradient(180deg,rgba(4,12,18,.12),rgba(4,12,18,.03));backdrop-filter:blur(5px)}
  .live-item{min-height:30px}
  .stat-copy b{font-size:12px}
  .hero-copy{margin:24px 14px 0}
  .hero-copy .eyebrow{margin-bottom:7px}
  .hero-copy h1{font-size:clamp(40px,12vw,54px);max-width:305px;line-height:.84}
  .hero-copy p{margin-top:10px;max-width:280px;font-size:8.5px;line-height:1.46}
  .ritual{margin-top:16px;padding:0 12px 22px;gap:10px}
  .wish-lens{height:108px;border-top:1px solid rgba(229,246,254,.10);border-bottom:1px solid rgba(229,246,254,.10);background:linear-gradient(180deg,rgba(206,235,249,.025),rgba(2,7,12,.055));backdrop-filter:blur(5px)}
  .wish-lens:before{inset:12px 22px;opacity:.55}
  .wish-lens:after{inset:28px 68px;opacity:.28}
  .wish-symbol{top:15px;font-size:11px}
  .wish-field{height:106px;padding:36px 22px 28px;font-size:18px;line-height:1.14}
  .wish-count{top:9px;right:10px;font-size:6px}
  .wish-private{bottom:9px;font-size:5px;letter-spacing:.18em}
  .coin-orbit{height:auto;display:flex;gap:10px;overflow-x:auto;overflow-y:visible;padding:2px 2px 8px;border:0;background:linear-gradient(180deg,rgba(206,235,249,.03),rgba(2,7,12,0));scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none}
  .coin-orbit::-webkit-scrollbar{display:none}
  .coin{flex:0 0 78px;min-width:78px;width:78px!important;height:90px;border-right:0;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.06));border:1px solid rgba(229,246,254,.08);backdrop-filter:blur(4px);scroll-snap-align:center}
  .coin img{top:4px;width:54px;height:54px}
  .coin .orbit-halo{top:30px;width:50px;height:50px}
  .coin .orbit-halo:before{inset:-6px}.coin .orbit-halo:after{inset:-12px}
  .coin-label{bottom:6px}.coin-label strong{font-size:6.2px;letter-spacing:.14em}.coin-label span{display:none}
  .coin[aria-pressed="true"]:after{top:4px;font-size:4.4px;letter-spacing:.18em}
  .action-row{gap:8px}
  .throw-btn{height:48px;font-size:8.2px;background:linear-gradient(180deg,rgba(235,247,253,.09),rgba(6,14,22,.24));box-shadow:0 12px 26px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.10)}
  .amount{height:38px;font-size:6px;border-top-color:rgba(228,245,253,.10);border-bottom-color:rgba(228,245,253,.10);background:rgba(4,11,16,.06);backdrop-filter:blur(4px)}
  .story-link{font-size:5.8px;opacity:.82}
  .ending p{font-size:11px}
}
@media(max-width:390px){
  .hero-copy{margin-top:22px}.hero-copy h1{font-size:42px;max-width:280px}.hero-copy p{max-width:260px;font-size:8px}
  .wish-lens{height:102px}.wish-field{height:100px;font-size:17px;padding-top:34px}.wish-private{font-size:4.8px}
  .coin{flex-basis:74px;min-width:74px;width:74px!important;height:86px}.coin img{width:50px;height:50px}.coin .orbit-halo{top:28px;width:46px;height:46px}
  .throw-btn{height:46px}.amount{height:36px}
}


/* V6 — MOBILE WATER-FIRST LAYOUT. New filename intentionally busts immutable cache. */
@media(max-width:760px){
  html,body{overflow-x:hidden;overflow-y:auto;background:#03070c}
  .world{height:auto;min-height:calc(100svh + 520px);padding-bottom:max(30px,env(safe-area-inset-bottom));overflow:hidden}
  .hero-video{position:fixed;inset:0;width:100%;height:100svh;object-fit:cover;object-position:50% 45%;filter:saturate(.86) contrast(1.04) brightness(.58);transform:none}
  .grade{position:fixed;background:linear-gradient(180deg,rgba(2,6,11,.40),rgba(2,6,11,.04) 31%,rgba(2,6,11,.06) 52%,rgba(2,6,11,.25) 78%,rgba(2,6,11,.48))}
  .world:before{position:fixed;bottom:-10%;opacity:.42}.world:after{display:none}

  .topbar{position:relative;padding:calc(12px + env(safe-area-inset-top)) 12px 0;row-gap:9px}
  .topbar:after{left:12px;right:12px;bottom:-10px;opacity:.75}
  .brand-logo{width:72px}.nav-actions{gap:10px}
  .live-cluster{padding:6px 0 5px;background:rgba(3,10,16,.08);backdrop-filter:blur(3px);border-top:1px solid rgba(220,243,254,.12)!important;border-bottom:1px solid rgba(220,243,254,.12)!important}
  .live-item{min-height:29px}.stat-copy b{font-size:12px}.stat-label{font-size:5.8px}.stat-mark{opacity:.72}

  .hero-copy{position:relative;left:auto;top:auto;transform:none;width:auto;margin:24px 14px 0;text-align:left}
  .hero-copy .eyebrow{font-size:5.8px;letter-spacing:.29em;margin-bottom:8px}
  .hero-copy h1{font-size:clamp(40px,12vw,52px);line-height:.84;max-width:300px}
  .hero-copy h1 em{display:block;margin:3px 0 0}
  .hero-copy p{margin:10px 0 0;max-width:278px;font-size:8.2px;line-height:1.48;color:rgba(235,247,252,.68)}
  .poem{display:none}

  /* Deliberate empty cinematic window: this is where the fountain/water stays visible. */
  .ritual{position:relative;left:auto;bottom:auto;transform:none;width:100%;height:auto;margin:clamp(230px,34svh,310px) 0 0;padding:0 12px 28px;display:flex;flex-direction:column;gap:10px}
  .ritual:before{display:block;content:"TOUCH THE WATER WHEN YOU'RE READY";position:absolute;left:50%;top:-36px;transform:translateX(-50%);font-size:5px;letter-spacing:.28em;color:rgba(237,249,254,.38);white-space:nowrap}
  .ritual:after{display:none}

  .wish-lens{position:relative;left:auto;bottom:auto;transform:none;order:1;width:100%;height:108px;border-radius:0;border-left:0;border-right:0;border-top:1px solid rgba(229,246,254,.12);border-bottom:1px solid rgba(229,246,254,.12);background:linear-gradient(180deg,rgba(203,232,247,.018),rgba(2,7,12,.035));backdrop-filter:blur(3px);box-shadow:none;overflow:visible}
  .wish-lens:before{inset:13px 28px;border-color:rgba(219,242,253,.09);opacity:.65}.wish-lens:after{inset:30px 80px;border-color:rgba(219,242,253,.045);opacity:.5}
  .wish-symbol{top:14px;font-size:10px}.wish-field{height:106px;padding:36px 24px 28px;font-size:18px;line-height:1.15}.wish-count{right:9px;top:9px;font-size:5.8px}.wish-private{bottom:9px;font-size:4.8px;letter-spacing:.19em}

  /* Coins float as objects rather than four opaque cards over the water. */
  .coin-orbit{position:relative;inset:auto;order:2;width:100%;height:92px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:0;border:0;background:transparent;overflow:visible}
  .coin{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:100%;height:92px;border:0!important;background:transparent;backdrop-filter:none;overflow:visible}
  .coin img{top:2px;width:52px;height:52px;filter:drop-shadow(0 12px 13px rgba(0,0,0,.54))}.coin .orbit-halo{top:28px;width:48px;height:48px}.coin .orbit-halo:before{inset:-6px}.coin .orbit-halo:after{inset:-12px}.coin-label{bottom:5px}.coin-label strong{font-size:6.1px;letter-spacing:.15em}.coin-label span{display:none}.coin[aria-pressed="true"]:after{top:0;font-size:4.2px;letter-spacing:.17em}

  .action-row{position:relative;left:auto;right:auto;bottom:auto;order:3;width:100%;height:auto;display:grid;grid-template-columns:1fr;gap:7px}
  .throw-btn{order:1;width:100%;min-width:0;height:48px;font-size:8px;border-radius:0;background:rgba(4,12,18,.10);backdrop-filter:blur(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
  .amount{position:relative;right:auto;top:auto;order:2;width:100%;height:36px;justify-content:center;border-top:1px solid rgba(228,245,253,.09);border-bottom:1px solid rgba(228,245,253,.09);background:rgba(3,10,15,.04);backdrop-filter:none;font-size:5.7px}
  .amount input{font-size:9px}.story-link{position:relative;left:auto;bottom:auto;order:4;align-self:center;margin-top:1px;font-size:5.5px;opacity:.75}
  .pay-status{bottom:-26px}

  .ending{overflow-y:auto;padding:0}.ending-inner{min-height:100svh;padding:calc(36px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom))}.ending p{font-size:11px}.certificate-preview-shell{width:min(318px,86vw);margin:2px auto 20px}.ending-actions{gap:8px}.ending-btn{height:48px}
}
@media(max-width:390px){
  .hero-copy{margin-top:21px}.hero-copy h1{font-size:41px}.hero-copy p{font-size:7.9px;max-width:260px}
  .ritual{margin-top:clamp(205px,32svh,260px);padding-left:10px;padding-right:10px}
  .wish-lens{height:102px}.wish-field{height:100px;font-size:17px;padding-top:34px}.coin-orbit{height:88px}.coin{height:88px}.coin img{width:49px;height:49px}.coin .orbit-halo{top:27px;width:45px;height:45px}.throw-btn{height:46px}.amount{height:34px}
}
