@font-face{font-family:Padauk;src:url("padauk.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Padauk;src:url("padaukbold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Cinzel;src:url("cinzel.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Cormorant;src:url("cormorant.woff2") format("woff2");font-weight:500;font-display:swap}

:root{
--ink:#14110E;
--gold:#E8B923;
--red:#C8102E;
--cream:#F3E6C8;
--mute:#C9B48A;
--panel:#1C1814;
--line:rgba(232,185,35,.28);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;background:var(--ink);color:var(--cream);font-family:Padauk,Cinzel,serif}
body{overflow-x:hidden}
button,input{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer}
img{display:block;max-width:100%}

#app{
min-height:100dvh;
background:
radial-gradient(1200px 700px at 50% -10%,rgba(232,185,35,.16),transparent 55%),
url("bgdust.jpg") center/cover no-repeat,
var(--ink);
}

.view{display:none;min-height:100dvh}
.view.show{display:block}

#splash{
position:relative;
display:none;
align-items:center;
justify-content:center;
flex-direction:column;
gap:14px;
overflow:hidden;
}
#splash.show{display:flex}
.splash-glow{
position:absolute;inset:-20%;
background:radial-gradient(circle at 50% 42%,rgba(200,16,46,.35),transparent 42%),radial-gradient(circle at 50% 55%,rgba(232,185,35,.22),transparent 50%);
animation:pulse 1.5s ease;
}
.splash-egg{width:min(42vw,220px);z-index:1;border-radius:22%;filter:drop-shadow(0 18px 28px rgba(232,185,35,.35));animation:rise 1.2s ease}
.brand{font-family:Cinzel,serif;letter-spacing:.18em;font-size:clamp(28px,7vw,48px);color:var(--gold);z-index:1}
.splash-line{font-size:20px;color:var(--mute);z-index:1}

.goldred{height:7px;background:rgba(255,255,255,.06);position:sticky;top:0;z-index:5}
.goldred i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),#F4D56A,var(--red));box-shadow:0 0 12px var(--gold);transition:width .4s linear}
.board-kicker{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.28em;text-align:center;padding:12px 16px 0;font-size:13px}

.scene{display:none;padding:18px 18px 40px;min-height:calc(100dvh - 40px)}
.scene.show{display:block}
.scene-title{text-align:center;font-size:clamp(22px,5vw,32px);margin:10px 0 22px;color:var(--cream)}
.hint{text-align:center;margin-top:22px;color:var(--gold);font-size:18px}

.tear-stage{
position:relative;
width:min(280px,70vw);
height:min(420px,62vh);
margin:28px auto 0;
}
.env-full,.env-half,.emerge-egg{position:absolute;inset:0;margin:auto}
.env-full{width:58%;height:auto;filter:drop-shadow(0 16px 24px rgba(200,16,46,.45));animation:breathe 1.8s ease-in-out infinite;cursor:pointer}
.env-half{width:58%;background:url("envelope.webp") center/contain no-repeat;opacity:0;pointer-events:none}
.env-half.left{transform-origin:left center}
.env-half.right{transform-origin:right center}
.emerge-egg{width:34%;opacity:0;transform:translateY(40px) scale(.4);filter:drop-shadow(0 12px 20px rgba(232,185,35,.5))}
.tear-stage.torn .env-full{opacity:0}
.tear-stage.torn .env-half{opacity:1}
.tear-stage.torn .env-half.left{animation:flyl .9s ease forwards}
.tear-stage.torn .env-half.right{animation:flyr .9s ease forwards}
.tear-stage.torn .emerge-egg{animation:pop 1.1s .25s ease forwards}

.twin{display:flex;justify-content:center;gap:28px;flex-wrap:wrap}
.egg-open{
width:min(180px,42vw);
display:flex;flex-direction:column;align-items:center;gap:10px;
padding:18px 10px 14px;
border:1px solid var(--line);
border-radius:28px 28px 40px 40px;
background:linear-gradient(180deg,#221c16,var(--panel));
box-shadow:inset 0 1px 0 rgba(232,185,35,.2);
}
.egg-open img{width:72%;transition:transform .5s}
.egg-open span{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.12em;opacity:0}
.egg-open.cracked img{transform:rotate(-12deg) scale(1.06)}
.egg-open.cracked span{opacity:1}

.sport-rise{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:26px;opacity:0;transform:translateY(16px)}
.sport-rise.show{opacity:1;transform:none;transition:all .7s ease}
.sport-rise img{width:42px}
.sport-rise strong{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.16em}

.quiz-mark{width:84px;margin:8px auto 0}
.qgrid{display:grid;gap:10px;max-width:520px;margin:0 auto}
.qgrid button{
text-align:right;
padding:14px 16px;
border-radius:14px;
background:#211b16;
border:1px solid var(--line);
color:var(--cream);
}
.qgrid button:hover{border-color:var(--gold)}
.qgrid button.good{background:rgba(232,185,35,.16);border-color:var(--gold)}
.qgrid button.bad{background:rgba(200,16,46,.18);border-color:var(--red)}

.ticker{
overflow:hidden;
border-bottom:1px solid var(--line);
background:linear-gradient(90deg,rgba(232,185,35,.12),rgba(20,17,14,.2) 40%,rgba(200,16,46,.14));
}
.ticker-track{display:flex;gap:36px;white-space:nowrap;padding:8px 0;animation:marquee 22s linear infinite;font-family:Cinzel,serif;color:var(--gold);letter-spacing:.2em;font-size:12px}
.ticker-track span{padding-inline:8px}

.topbar{display:flex;align-items:center;gap:12px;padding:16px 18px 8px}
.topbar img{width:42px;height:42px;border-radius:10px;object-fit:cover}
.brand-mini{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.14em;display:block}
.topbar em{font-style:normal;color:var(--mute);font-size:14px}

.gate{
display:grid;
grid-template-columns:1fr 1fr 1fr .9fr;
gap:14px;
padding:10px 16px 36px;
align-items:stretch;
}
.col-egg,.col-nya{
position:relative;
min-height:min(58vh,520px);
border-radius:28px;
padding:22px 12px 18px;
display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;
overflow:hidden;
}
.col-egg{
background:
linear-gradient(180deg,rgba(232,185,35,.08),transparent 32%),
linear-gradient(180deg,#1A1612 0%,#120F0C 100%);
border:1px solid var(--line);
box-shadow:0 16px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(243,230,200,.08);
}
.col-egg img{width:58%;margin:auto;filter:drop-shadow(0 16px 18px rgba(0,0,0,.45));transition:transform .45s}
.col-egg:hover img{transform:translateY(-8px) rotate(-4deg)}
.col-egg b,.col-nya b{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.16em;font-size:22px}
.col-egg small,.col-nya small{color:var(--mute);font-size:15px}
.halo{
position:absolute;width:140px;height:40px;bottom:86px;left:50%;transform:translateX(-50%);
border-radius:50%;background:radial-gradient(ellipse,rgba(232,185,35,.45),transparent 70%);
filter:blur(2px);
}

.col-nya{
background:
url("bgenvelope.jpg") center/cover no-repeat,
linear-gradient(180deg,#3a1016,#1a0a0c);
border:1px solid rgba(200,16,46,.55);
box-shadow:0 16px 40px rgba(200,16,46,.22);
}
.col-nya img{width:46%;margin:auto 0 10px;filter:drop-shadow(0 12px 16px rgba(0,0,0,.4));animation:breathe 2.4s ease-in-out infinite}

.pagebar{
display:flex;align-items:center;gap:12px;
padding:14px 16px;
border-bottom:1px solid var(--line);
}
.pagebar strong{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.12em}
.pagebar span{color:var(--mute)}
.back{color:var(--cream);border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:#1A1612}

.htun-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:12px;
padding:16px;
}
.htun-card{
background:linear-gradient(180deg,#221c16,#161310);
border:1px solid var(--line);
border-radius:22px;
padding:16px 10px 14px;
display:flex;flex-direction:column;align-items:center;gap:8px;
min-height:210px;
}
.htun-card img{width:72px;height:72px;object-fit:contain}
.htun-card b{font-family:Cinzel,serif;color:var(--gold);letter-spacing:.1em}
.htun-card small{color:var(--mute);text-align:center}

.play-hud{
display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px;
}
.play-hud div{background:#1A1612;border:1px solid var(--line);border-radius:12px;padding:8px;text-align:center}
.play-hud em{display:block;color:var(--mute);font-style:normal;font-size:12px}
.play-hud b{color:var(--gold);font-size:20px}
.arena{
position:relative;
height:min(58vh,520px);
margin:0 16px;
border-radius:22px;
overflow:hidden;
background:
radial-gradient(circle at 50% 0,rgba(232,185,35,.12),transparent 40%),
#0E0C0A;
border:1px solid var(--line);
}
.arena.trial{height:min(46vh,380px);margin:0 auto;max-width:720px}
.fall-egg{
position:absolute;width:78px;height:92px;z-index:3;cursor:pointer;touch-action:none;
background:url("egg.webp") center/contain no-repeat;
filter:drop-shadow(0 0 12px rgba(232,185,35,.85));
user-select:none;padding:0;
}
.fall-egg.pop{animation:popout .28s ease forwards}
.gold-btn{
display:block;margin:16px auto;
background:linear-gradient(180deg,#F0C64A,var(--gold) 40%,#B88912);
color:#1A1408;font-weight:700;
padding:12px 36px;border-radius:999px;
box-shadow:0 8px 18px rgba(232,185,35,.25);
min-width:180px;
}
.play-note,.nya-lead{text-align:center;color:var(--mute);padding:0 18px 24px}

.quiz-wrap{max-width:640px;margin:0 auto;padding:22px 16px 40px}
.quiz-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.quiz-top img{width:42px}
.quiz-wrap h2{font-size:26px;margin-bottom:18px;line-height:1.45}
.quiz-foot{margin-top:18px;color:var(--gold);text-align:center}

.stamps{display:flex;justify-content:center;gap:8px;padding:8px 16px 18px}
.stamps i{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:#1A1612}
.stamps i.on{background:radial-gradient(circle at 35% 30%,#F4D56A,var(--gold));box-shadow:0 0 10px rgba(232,185,35,.5)}

.nya-row{
display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:8px 16px 12px;
}
.nya-env{
min-height:180px;
background:linear-gradient(180deg,#4a141c,#2a0c10);
border:1px solid rgba(200,16,46,.45);
border-radius:18px;
padding:12px 6px;
display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
}
.nya-env img{width:58%;margin:auto}
.nya-env.win{border-color:var(--gold);box-shadow:0 0 18px rgba(232,185,35,.28)}
.nya-env.miss{opacity:.45;filter:grayscale(.4)}
.nya-env[disabled]{cursor:default}

.sheet{
position:fixed;inset:0;background:rgba(8,6,5,.72);
display:flex;align-items:flex-end;justify-content:center;
z-index:20;
}
.sheet[hidden]{display:none}
.sheet-card{
width:min(520px,100%);
background:
linear-gradient(180deg,#2A2218,var(--panel));
border:1px solid var(--line);
border-radius:24px 24px 0 0;
padding:18px 18px 28px;
}
.sheet-card img{width:96px;margin:8px auto 12px}
.sheet-card h3{font-family:Cinzel,serif;color:var(--gold);text-align:center;letter-spacing:.12em;margin-bottom:12px}
.sheet-card ul{list-style:none;display:grid;gap:8px;margin-bottom:16px}
.sheet-card li{background:#161310;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.sheet-x{float:right;color:var(--mute)}

.trial-hud{display:flex;justify-content:center;gap:28px;color:var(--gold);font-size:22px;margin-bottom:10px}

@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes rise{from{opacity:0;transform:translateY(24px) scale(.86)}to{opacity:1;transform:none}}
@keyframes pulse{from{opacity:.4}to{opacity:1}}
@keyframes flyl{to{transform:translate(-70px,-20px) rotate(-28deg);opacity:0}}
@keyframes flyr{to{transform:translate(70px,-20px) rotate(28deg);opacity:0}}
@keyframes pop{to{opacity:1;transform:translateY(-10px) scale(1)}}
@keyframes popout{to{opacity:0;transform:scale(1.35) translateY(-18px)}}

@media (max-width:760px){
.gate{grid-template-columns:1fr 1fr;padding-bottom:20px}
.col-egg,.col-nya{min-height:31vh}
.htun-grid{grid-template-columns:1fr 1fr}
.nya-row{grid-template-columns:1fr 1fr; }
.nya-row .nya-env:last-child{grid-column:1 / -1;max-width:46%;justify-self:center}
.play-hud{grid-template-columns:1fr 1fr}
}
@media (max-width:420px){
.brand{letter-spacing:.12em}
.col-egg b,.col-nya b{font-size:18px}
}
