/* Game-local art and typography. The pinned shell is unchanged. */
html.tt-shell .gift-copy small { display:block; color:var(--muted); font-size:14px; margin-top:5px; }
/* Keep the shared picker, presenting gift names without price copy for this game. */
html.tt-shell .tt-gift-picker-option-copy > strong + span { display:none; }
.source-page { color-scheme:dark; }
.source-page #treasure-stage { position:absolute; width:1080px; height:1920px; transform-origin:top left; color:#fff7dc; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.source-page #treasure-stage * { box-sizing:border-box; }
#treasure-stage { --treasure-yellow:#ffd43b; text-shadow:0 2px 3px #17130f, 2px 0 2px #17130f, -2px 0 2px #17130f, 0 -2px 2px #17130f; }
#treasure-art { position:absolute; inset:0; width:1080px; height:1920px; }
.tj-heading { position:absolute; left:84px; top:92px; right:70px; }
.tj-brand { font-size:23px; letter-spacing:3px; font-weight:750; margin:0 0 20px; }
.tj-mode { position:absolute; top:30px; left:84px; color:#ffd43b; font-size:20px; font-weight:750; letter-spacing:2px; }
.tj-brand span { color:#ffd43b; padding:0 10px; }
.tj-heading h1 { font-family:Georgia,serif; font-size:106px; font-weight:700; letter-spacing:-5px; line-height:1.05; margin:0; }
.tj-heading h1 span { color:#ffd43b; }
.tj-intro { font-size:29px; margin:20px 0 0; letter-spacing:.1px; }
.tj-progress-copy { position:absolute; left:84px; right:84px; top:345px; display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.tj-progress-copy p { margin:0; font-size:28px; white-space:nowrap; }
.tj-progress-copy strong { font-size:65px; line-height:1; font-variant-numeric:tabular-nums; color:#ffd43b; }
.tj-progress-copy > span { max-width:220px; font-size:24px; text-align:right; line-height:1.4; }
.tj-progress { position:absolute; left:84px; right:84px; top:430px; height:4px; background:#efcd7b44; }
.tj-progress i { display:block; height:100%; width:0; background:#ffd43b; box-shadow:0 0 20px #ffd43b88; transition:width .3s; }
.tj-gifts { position:absolute; top:472px; left:90px; right:90px; display:flex; flex-direction:column; gap:14px; }
.tj-gift { display:flex; align-items:center; gap:16px; font-size:29px; line-height:1.25; min-height:48px; }
.tj-gift img { width:44px; height:44px; object-fit:contain; }
.tj-gift .tj-token { display:inline-flex; justify-content:center; align-items:center; width:44px; color:#ffd43b; font-size:36px; }
.tj-gift strong { color:#ffd43b; font-weight:750; }
.tj-goal { position:absolute; right:88px; font-size:23px; font-weight:800; letter-spacing:2px; margin:0; color:#ffd43b; }
.tj-result { position:absolute; top:900px; left:60px; right:60px; text-align:center; pointer-events:none; }
.tj-result p { font-size:27px; font-weight:850; letter-spacing:7px; color:#ffd43b; margin:0 0 16px; }
.tj-result strong { display:block; font-family:Georgia,serif; font-size:100px; line-height:1.15; color:#fff5c7; }
.tj-result span { display:block; font-size:29px; margin-top:24px; }
.tj-recent { position:absolute; top:1675px; left:90px; right:90px; font-size:27px; text-align:center; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.tj-footer { position:absolute; left:60px; right:60px; top:1786px; text-align:center; }
.tj-footer > span { color:#ffd43b; letter-spacing:4px; font-size:22px; font-weight:750; }
.tj-footer p { font-size:20px; margin-top:22px; }
[data-transparent="0"] #treasure-stage { background:#17191c; }
@media (prefers-reduced-motion:reduce) { .tj-progress i { transition:none; } }
