/* Game-owned art. Shared shell and core styles remain pinned. */
html.source-page { color-scheme:dark; }
html.tt-shell .gift-copy small { display:block; color:var(--muted); font-size:14px; margin-top:5px; }
html.tt-shell .jf-how { list-style:none; padding:0; display:grid; gap:12px; }
html.tt-shell .jf-how li { padding:0; font-size:16px; }
html.tt-shell .jf-how strong { color:#ffd43b; }
.source-page #jelly-stage { position:absolute; width:1080px; height:1920px; transform-origin:top left; color:#fff9ee; font-family:Inter,"Segoe UI",sans-serif; text-shadow:0 2px 2px #10151b,2px 0 2px #10151b,-2px 0 2px #10151b,0 -2px 2px #10151b; }
#jelly-stage * { box-sizing:border-box; }
.jf-heading { position:absolute; top:72px; left:74px; right:74px; }
.jf-brand { font-size:24px; letter-spacing:5px; font-weight:750; margin:0 0 24px; color:#ffe7a4; display:flex; justify-content:space-between; }
.jf-brand span { font-size:22px; letter-spacing:3px; color:#e2e8ed; }
.jf-heading h1 { margin:0; font-size:112px; letter-spacing:-7px; font-weight:900; line-height:1.05; }
.jf-heading h1 span { color:#ffd43b; }
.jf-tagline { font-size:32px; margin:20px 0 0; letter-spacing:1px; color:#d3dee8; }
.jf-mode { position:absolute; top:24px; width:1080px; text-align:center; color:#ffd43b; font-size:22px; letter-spacing:3px; font-weight:750; }
.jf-mode:empty { display:none; }
.jf-meter { position:absolute; top:340px; left:78px; right:78px; }
.jf-meter-copy { display:flex; align-items:center; justify-content:space-between; }
#fill-value { font-size:110px; line-height:1; letter-spacing:-6px; font-weight:850; color:#ffd43b; font-variant-numeric:tabular-nums; }
.jf-percent { font-size:54px; color:#ffd43b; font-weight:800; margin-left:6px; }
#hold-status { font-size:29px; font-weight:800; text-align:right; letter-spacing:2px; margin:0; }
#hold-status span { display:block; margin-top:12px; font-size:23px; font-weight:450; letter-spacing:0; color:#d3dee8; }
.jf-track { height:17px; border:2px solid #d6e9f560; border-radius:12px; margin-top:20px; overflow:hidden; }
.jf-track i { display:block; height:100%; border-radius:12px; background:#ffd43b; box-shadow:0 0 20px #ffd43b80; transition:width .25s; }
.jf-meter-foot { display:flex; justify-content:space-between; margin-top:13px; font-size:20px; letter-spacing:2px; color:#d3dee8; }
.jf-jar-wrap { position:absolute; left:118px; top:643px; width:844px; height:852px; }
.jf-glass { position:absolute; top:27px; left:0; width:844px; height:814px; border:4px solid #d3f2ff9e; border-top:0; border-radius:0 0 73px 73px; background:linear-gradient(90deg,#b6e6ff0b,transparent 15%,transparent 85%,#b6e6ff10); box-shadow:inset 14px 0 15px #e2f6ff0a,inset -12px 0 18px #e2f6ff0a,0 16px 30px #0002; }
.jf-glass::before { content:''; position:absolute; left:12px; top:20px; width:8px; height:640px; border-radius:10px; background:linear-gradient(#e0f6ff60,#e0f6ff00); }
.jf-glass::after { content:''; position:absolute; right:12px; bottom:55px; width:5px; height:235px; background:linear-gradient(transparent,#e0f6ff70); border-radius:5px; }
.jf-jar-lip { position:absolute; z-index:1; top:0; width:844px; height:35px; border:4px solid #dbf5ffa6; border-radius:14px; background:linear-gradient(#c0e5ff15,#e6f5ff2e,transparent); }
.jf-jar-base { position:absolute; bottom:0; left:51px; right:51px; height:14px; border:3px solid #b0daed65; border-top:0; border-radius:0 0 50% 50%; }
#jar { position:absolute; left:28px; top:0; width:780px; height:780px; }
.jf-grid-label { position:absolute; right:-63px; top:365px; font-size:20px; letter-spacing:4px; writing-mode:vertical-rl; color:#bfced8; }
.jf-chain { position:absolute; top:580px; width:1080px; font-size:38px; font-weight:850; text-align:center; color:#ffd43b; letter-spacing:2px; }
.jf-recent { position:absolute; top:1514px; left:62px; right:62px; margin:0; min-height:48px; text-align:center; font-size:27px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; color:#fff5d4; }
.jf-gifts { position:absolute; top:1605px; left:66px; right:66px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.jf-gift { position:relative; text-align:center; padding-top:84px; min-width:0; }
.jf-gift + .jf-gift::before { content:''; position:absolute; left:-12px; top:70px; height:110px; border-left:1px solid #c6d7e440; }
.jf-gift img { position:absolute; width:74px; height:74px; object-fit:contain; top:0; left:calc(50% - 37px); filter:drop-shadow(0 4px 6px #0005); }
.jf-gift strong { display:block; font-size:27px; font-weight:800; }
.jf-gift p { font-size:23px; line-height:1.3; margin:9px 0 0; color:#f6f0df; }
.jf-gift span { display:block; font-size:19px; letter-spacing:2px; margin-top:12px; color:#ffd43b; font-weight:750; }
.jf-footer { position:absolute; left:64px; right:64px; bottom:32px; display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:18px; color:#d3dee8; }
.jf-footer>span:nth-child(2) { font-size:16px; text-align:center; }
.jf-result { position:absolute; top:815px; left:30px; right:30px; text-align:center; z-index:3; transform:rotate(-5deg); }
.jf-result[hidden] { display:none; }
.jf-result>span { font-size:27px; letter-spacing:8px; font-weight:800; }
.jf-result strong { display:block; font-size:94px; letter-spacing:-5px; line-height:1.2; color:#ffd43b; font-weight:900; text-shadow:0 5px 0 #30221a,3px 0 0 #30221a,-3px 0 0 #30221a,0 -3px 0 #30221a; }
.jf-result p { font-size:29px; margin:15px 0; }
.source-page #jelly-stage .tt-core-overlay-status { position:absolute; top:545px; left:60px; width:960px; max-width:none; margin:0; transform:none; font-size:22px; }
.source-page #jelly-stage .tt-core-notice { background:transparent; border:0; padding:0; box-shadow:none; color:#fff5d4; font-size:22px; }
.source-page #jelly-stage .tt-core-notice strong { font-size:24px; }
.source-page #jelly-stage .tt-core-notice a { color:#ffd43b; }
.source-page #jelly-stage .tt-core-avatar { background:transparent; }
