/* Signature Box: all rules scoped to this tool. Reset unrelated site styles before applying the approved prototype. */
#boxSim :where(:not(svg):not(svg *)){all:revert;box-sizing:border-box}
/* Layout: the FC Mobile reward-box screen — navy-to-silver stage with gold hairlines, hero player on the left, 5-column tile board with the prize tile, claim bar; game-style INFO dialog, kick-at-goal draw and reward band. One committed look. */
#boxSim{
  --navy:#0e1a26; --navy-2:#16273a; --silver:#cfd5da; --ink:#ffffff; --ink-dim:#a9b4bf; --ink-dark:#1b2733;
  --peach-1:#f7cfa3; --peach-2:#e3a46d; --gold:#d6a55e; --gold-hi:#ffe2a8;
  --tile-1:#8c98a3; --tile-2:#33414e; --tile-3:#132230; --claimed:#0e151c;
  --dlg:#0f2030; --dlg-line:#244055; --teal:#19d3a2; --violet:#8b5cf6;
  --f-head:"Poppins","Anuphan",system-ui,sans-serif;
  --f-body:"Anuphan","Poppins",system-ui,-apple-system,sans-serif;
  color-scheme:dark;
}
#boxSim *{box-sizing:border-box}
#boxSim [hidden]{display:none!important}
#boxSim{margin:0;background:var(--navy);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5}
#boxSim button{font:inherit;color:inherit}
#boxSim :focus-visible{outline:2px solid var(--gold-hi);outline-offset:2px}
#boxSim .page{max-width:1180px;margin:0 auto;padding-block:14px 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:grid;gap:16px}/* ---------- stage ---------- */
#boxSim .stage{position:relative;overflow:hidden;border-radius:14px;padding:14px 16px 16px;
  background:
    linear-gradient(165deg,rgba(214,165,94,.0) 0 41%,rgba(214,165,94,.55) 41.1% 41.25%,transparent 41.35%),
    linear-gradient(118deg,transparent 0 22%,rgba(214,165,94,.45) 22.1% 22.22%,transparent 22.3%),
    linear-gradient(60deg,transparent 0 63%,rgba(214,165,94,.35) 63.1% 63.2%,transparent 63.3%),
    linear-gradient(180deg,#0f1b27 0%,#1c2c3b 38%,#56636f 70%,#c9cfd4 100%);
  box-shadow:0 20px 50px #0007}
#boxSim .topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#boxSim .back{width:38px;height:38px;border-radius:50%;background:#ffffff1f;display:grid;place-items:center;flex:none}
#boxSim .back svg{width:16px}
#boxSim .title{font-family:var(--f-head);font-weight:800;font-size:clamp(18px,3.2vw,30px);letter-spacing:.01em;text-transform:uppercase;line-height:1.1;margin:0;flex:1 1 auto;min-width:0}
#boxSim .chips{display:flex;gap:10px;align-items:center}
#boxSim .chip{display:flex;align-items:center;gap:6px;font-family:var(--f-head);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
#boxSim .chip img{width:24px;height:24px}
#boxSim .chip small{font-family:var(--f-body);font-weight:500;font-size:11.5px;color:var(--ink-dim)}
#boxSim .restart{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px 0 10px;border-radius:999px;border:1.5px solid #ffffff55;background:#ffffff1a;color:#fff;font-family:var(--f-body);font-weight:600;font-size:14px;cursor:pointer}
#boxSim .restart svg{width:18px;height:18px}
#boxSim .restart:hover{background:#ffffff2e}
#boxSim .board{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:16px;margin-top:12px;align-items:stretch}
#boxSim .hero{position:relative;display:grid;justify-items:center;align-content:end;gap:4px;padding-bottom:4px;min-width:0}
#boxSim .hero .spot{position:relative;width:100%;max-width:350px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 45%,#e9edf0 0%,#aeb7bf 45%,#3b4856 75%,transparent 76%);display:grid;place-items:center}
#boxSim .hero .spot img{width:104%;height:112%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 12px 18px #0009)}
#boxSim .hero .spot::before{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid #f8dda8;box-shadow:inset 0 0 30px #ffe5af77,0 0 0 7px #ffffff09,0 18px 24px #07121d66;background:radial-gradient(ellipse at 45% 20%,#fff9d9aa,transparent 55%)}
#boxSim .hero .spot::after{content:"";position:absolute;left:12%;right:12%;bottom:-3%;height:12%;background:#06121c88;border-radius:50%;filter:blur(12px)}
#boxSim .hero .nm{font-family:var(--f-head);font-weight:800;font-size:clamp(18px,2.4vw,26px);color:#2b1d10;text-transform:uppercase;letter-spacing:.02em;margin-top:6px;text-align:center}
#boxSim .hero .ovr{font-family:var(--f-head);font-weight:800;font-size:18px;color:#2b1d10;line-height:1}
#boxSim .hero .ends{display:flex;align-items:center;gap:6px;font-family:var(--f-head);font-weight:600;font-size:13px;color:#2b1d10}
#boxSim .hero .ends svg{width:16px}
#boxSim .prize-meta{display:none}
#boxSim .grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-content:start}
#boxSim .tile{position:relative;border:0;padding:0;cursor:default;aspect-ratio:1.38/1;border-radius:4px;overflow:hidden;
  background:linear-gradient(180deg,var(--tile-1) 0%,var(--tile-2) 46%,var(--tile-3) 100%);box-shadow:inset 0 0 0 1px #e3c79977,0 2px 4px #0006}
#boxSim .tile.rare{background:linear-gradient(180deg,#fbe2c4 0%,var(--peach-1) 30%,var(--peach-2) 100%);box-shadow:inset 0 0 0 1.5px #fff3da,0 0 12px #f7cfa366}/* icons share one canvas cut from the same spot of every in-game tile, so they keep the game's relative sizes */
#boxSim .tile .ic{position:absolute;left:4%;right:4%;top:4%;height:70%}
#boxSim .tile .ic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #0007)}
#boxSim .tile .q{position:absolute;left:0;right:0;bottom:5%;text-align:center;font-family:var(--f-head);font-weight:500;font-size:clamp(9.5px,1.25vw,15px);line-height:1;letter-spacing:.01em;color:#fff;text-shadow:0 1px 1.5px #0009}
#boxSim .tile.claimed{background:var(--claimed);box-shadow:inset 0 0 0 1px #ffffff10}
#boxSim .tile.claimed .ic{opacity:.28;filter:grayscale(.3)}
#boxSim .tile.claimed .q{color:#ffffff55;text-shadow:none}
#boxSim .tile.claimed::after{content:"";position:absolute;inset:0;background:center 38%/auto 40% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.8l5.2 5L20 6.5' fill='none' stroke='%23fff3e6' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
#boxSim .tile.just{animation:box-pop .6s ease}
@keyframes box-pop{40%{transform:scale(1.1)}}
#boxSim .prize{grid-column:4/6;grid-row:1/4;aspect-ratio:auto;isolation:isolate;
  background:radial-gradient(ellipse at 57% 34%,#fff9dc 0%,#ffe3a1 17%,#d4a34d 47%,#946021 78%,#503116 100%);
  box-shadow:inset 0 0 0 1px #fff0b8,inset 0 0 0 3px #8d5b2980,inset 0 8px 22px #fff2bc66,inset 0 -18px 30px #48271088,0 3px 10px #0007}
#boxSim .prize::before{content:"";position:absolute;inset:-60%;z-index:-1;pointer-events:none;
  background:linear-gradient(115deg,transparent 36%,#fff9dc00 42%,#fff9dc55 48%,#fff9dc00 54%,transparent 62%);
  transform:translateX(-48%);animation:box-prize-sheen 12s ease-in-out infinite}
@keyframes box-prize-sheen{0%,15%{transform:translateX(-48%)}65%,100%{transform:translateX(48%)}}
#boxSim .prize.claimed::before{display:none}
#boxSim .prize .card{position:absolute;inset:6% 6% 6% 14%;display:grid;place-items:center}
#boxSim .prize .card img{width:100%;height:100%;min-height:0;object-fit:contain;filter:drop-shadow(0 8px 14px #0008)}
#boxSim .prize .tok{position:absolute;left:6%;bottom:12%;width:30%;filter:drop-shadow(0 4px 6px #0008)}
#boxSim .prize .i{position:absolute;right:6px;top:6px;width:32px;height:32px;border-radius:50%;background:#1b1b1b;color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700;font-size:15px;cursor:pointer;border:0}
#boxSim .prize.claimed .card,#boxSim .prize.claimed .tok{opacity:.3}
#boxSim .claimbar{grid-column:1/-1;display:flex;align-items:center;gap:12px;background:#0d1923;border-radius:6px;padding:8px 10px 8px 12px;margin-top:4px;box-shadow:inset 0 0 0 1px #ffffff14}
#boxSim .claimbar .i{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;font-family:Georgia,serif;font-weight:700;background:none;cursor:pointer}
#boxSim .claimbar .msg{flex:1 1 auto;min-width:0;font-family:var(--f-body);font-size:clamp(13px,1.5vw,16px);line-height:1.3}
#boxSim .claimbar .msg small{display:block;color:var(--ink-dim);font-size:12px}
#boxSim .buy{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:clamp(130px,22vw,210px);height:clamp(40px,4.4vw,50px);border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(180deg,#ffe4c2 0%,#f4bf86 48%,#e2a062 100%);box-shadow:inset 0 1px 0 #fff4e2,inset 0 0 0 1px #c98a4e,0 2px 5px #0005;color:#2a1708;font-family:var(--f-head);font-weight:500;font-size:clamp(16px,1.8vw,20px)}
#boxSim .buy img{width:26px;height:26px}
#boxSim .buy[disabled]{filter:grayscale(.8) brightness(.6);cursor:not-allowed}
#boxSim .buy:active{transform:translateY(1px)}
#boxSim .tools{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:12px}
#boxSim .tools .tbtn{white-space:nowrap}
#boxSim .tbtn{border:1px solid #ffffff2e;background:#0d1923cc;border-radius:999px;padding:6px 13px;font-family:var(--f-body);font-weight:400;font-size:13px;cursor:pointer;color:#e8eef3}
#boxSim .tbtn[aria-pressed="true"]{border-color:var(--teal);color:var(--teal)}/* Round 3: one game arrangement, scaled as a unit at every width. */
#boxSim .stage{container-type:inline-size;width:100%;max-width:calc(1800px / var(--asset-dpr,1));justify-self:center}
#boxSim .topbar{flex-wrap:nowrap;gap:1cqw}
#boxSim .back{width:3.4cqw;height:3.4cqw}
#boxSim .back svg{width:1.5cqw}
#boxSim .title{font-size:2.5cqw;flex:1;overflow-wrap:anywhere}
#boxSim .chips{gap:1cqw}
#boxSim .chip{font-size:1.3cqw;gap:.5cqw}
#boxSim .chip img{width:2.3cqw;height:2.6cqw;object-fit:contain}
#boxSim .chip small{font-size:1cqw}
#boxSim .restart{font-size:1.2cqw;height:3.2cqw;padding:0 1cqw;gap:.5cqw}
#boxSim .restart svg{width:1.6cqw;height:1.6cqw}
#boxSim .board{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:1.4cqw;margin-top:1.1cqw}
#boxSim .hero{display:grid;grid-template-columns:1fr;align-items:end;justify-items:center;align-content:end;gap:.35cqw;padding-bottom:.35cqw}
#boxSim .hero .spot{width:100%;max-width:350px;grid-row:auto}
#boxSim .hero .nm{font-size:2.3cqw;margin-top:.5cqw;line-height:1.2;overflow-wrap:anywhere}
#boxSim .hero .ovr{font-size:1.6cqw}
#boxSim .hero .ends{font-size:1.15cqw;gap:.5cqw}
#boxSim .hero .ends svg{width:1.4cqw}
#boxSim .grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.1cqw}
#boxSim .tile{aspect-ratio:238/171;border-radius:.3cqw;box-shadow:none}
#boxSim .tile.rare{box-shadow:0 0 .7cqw #f7cfa366}
#boxSim .tile .ic{inset:0;height:100%}
#boxSim .tile .ic img{width:100%;height:100%;object-fit:fill;filter:none}
#boxSim .tile .ic img.p118{inset:7% 4% auto;width:92%;height:70%;object-fit:contain}
#boxSim .tile .q{font-size:1.15cqw;bottom:5%;line-height:1.1;font-weight:500}
#boxSim .prize{grid-column:4/6;grid-row:1/4;aspect-ratio:auto;height:auto}
#boxSim .prize-meta{display:none}
#boxSim .prize .card{inset:6% 6% 6% 14%}
#boxSim .prize .tok{left:6%;bottom:12%;width:30%}
#boxSim .prize .i{width:2.8cqw;height:2.8cqw;right:.5cqw;top:.5cqw;font-size:1.3cqw}
#boxSim .claimbar{gap:1cqw;padding:.7cqw .9cqw .7cqw 1cqw;margin-top:.35cqw;border-radius:.5cqw}
#boxSim .claimbar .i{width:2.5cqw;height:2.5cqw;border-width:.18cqw;font-size:1.5cqw}
#boxSim .claimbar .msg{font-size:1.4cqw}
#boxSim .claimbar .msg small{font-size:1.05cqw}
#boxSim .claimbar .buy{min-width:23cqw;height:4.4cqw;font-size:1.9cqw;gap:.7cqw;padding:0 1cqw}
#boxSim .buy img{width:2.3cqw;height:2.7cqw;object-fit:contain}
#boxSim .tools{gap:.7cqw;margin-top:1cqw}
#boxSim .tbtn{font-size:1.05cqw;padding:.5cqw 1.1cqw}
@media(max-width:760px){
#boxSim .page{padding:10px;gap:12px}
#boxSim .stage{padding:8px;border-radius:6px}}/* Round 5: transparent reward art on native-style tile gradients. */
#boxSim .tile:not(.prize){box-shadow:inset 0 0 0 1px #e3c79977,0 2px 4px #0004}
#boxSim .tile .ic{inset:3% 12% 21%;height:auto;display:grid;place-items:center}
#boxSim .tile .ic img{position:static;width:100%;height:100%;object-fit:contain}
#boxSim .tile[data-i="7"] .ic,#boxSim .tile[data-i="14"] .ic{left:24%;right:24%}
#boxSim .tile[data-i="12"] .ic{left:20%;right:20%;top:14%;bottom:24%}
#boxSim .tile[data-i="8"] .ic{left:21%;right:21%;top:6%;bottom:10%}
#boxSim .reward-tile{width:min(320px,70vw);aspect-ratio:238/190;background:none;overflow:visible}
#boxSim .reward-tile>img{position:absolute;inset:0 8% 16%;width:84%;height:84%;object-fit:contain}
#boxSim .reward-tile .q{font-size:28px;bottom:0}
@media(max-width:759px){
#boxSim .stage{max-width:none}
#boxSim .topbar{gap:8px;flex-wrap:wrap}
#boxSim .back{width:28px;height:28px}
#boxSim .back svg{width:14px}
#boxSim .title{font-size:16px;flex:1;overflow-wrap:normal}
#boxSim .chips{gap:8px;margin-left:auto}
#boxSim .chip{font-size:12px;gap:4px}
#boxSim .chip small{font-size:10px}
#boxSim .chip img{width:20px;height:24px}
#boxSim .restart{font-size:12px;height:32px;padding:0 10px;gap:4px}
#boxSim .restart svg{width:16px;height:16px}
/* Round 3: the prize slot already shows the card; keep the phone hero to one line. */
#boxSim .board{grid-template-columns:minmax(0,1fr);gap:6px;margin-top:8px}
#boxSim .hero{display:flex;align-items:center;justify-content:flex-start;gap:0;padding:2px 4px;white-space:nowrap}
#boxSim .hero .spot{display:none}
#boxSim .hero .nm{flex:0 1 auto;min-width:0;font-size:12px;margin:0;text-align:left;color:#f4dfb8;line-height:1.4;overflow:hidden;text-overflow:ellipsis}
#boxSim .hero .ovr,#boxSim .hero .ends{flex:none;font-size:10px;font-weight:500;color:#f4dfb8;line-height:1.4}
#boxSim .hero .ovr::before,#boxSim .hero .ends::before{content:"·";margin:0 3px}
#boxSim .hero .ends{gap:0}
#boxSim .hero .ends svg{display:none}
#boxSim .grid{gap:4px}
#boxSim .tile{border-radius:3px}
#boxSim .tile .q{font-size:9.5px;bottom:6%;font-weight:500}
#boxSim .prize .i{width:28px;height:28px;right:4px;top:4px;font-size:16px}/* one compact row like the game: info, message, then the draw button on the right */
#boxSim .claimbar{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 8px;margin-top:4px;border-radius:6px}
#boxSim .claimbar .i{width:22px;height:22px;font-size:13px;border-width:1.5px}
#boxSim .claimbar .msg{font-size:12.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#boxSim .claimbar .msg small{font-size:11px;overflow:hidden;text-overflow:ellipsis}
#boxSim .claimbar .msg .hint{display:none}
#boxSim .claimbar .buy{flex:0 0 auto;min-width:92px;width:auto;height:34px;padding:0 12px;font-size:15px;gap:5px}
#boxSim .buy img{width:20px;height:22px}
#boxSim .tools{gap:6px;margin-top:8px}
#boxSim .tbtn{font-size:11.5px;font-weight:400;padding:3px 10px;min-height:28px}
#boxSim .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#boxSim .title .tn{display:none}
#boxSim .chip small{display:none}
}/* ---------- game dialogs ---------- */
#boxSim .dlg{background:linear-gradient(180deg,#102536,#0b1824);border-radius:6px;position:relative;box-shadow:0 0 0 1.5px transparent;min-width:0}
#boxSim .dlg::before{content:"";position:absolute;inset:0;border-radius:6px;padding:1.5px;background:linear-gradient(135deg,var(--violet),#3b82f6 45%,var(--teal));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
#boxSim .dlg-h{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(90deg,#14304a,#0f2539);border-bottom:1px solid var(--dlg-line);border-radius:6px 6px 0 0}
#boxSim .dlg-h h2{margin:0;font-family:var(--f-head);font-weight:800;font-size:18px;letter-spacing:.02em;text-transform:uppercase}
#boxSim .x{width:30px;height:30px;border:0;background:none;cursor:pointer;display:grid;place-items:center}
#boxSim .x svg{width:20px}
#boxSim .tabs{display:grid;grid-template-columns:1fr 1fr}
#boxSim .tab{border:0;background:#0d1b28;color:#8c9aa8;padding:8px;font-family:var(--f-head);font-weight:500;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-bottom:2px solid transparent}
#boxSim .tab[aria-selected="true"]{background:linear-gradient(180deg,#123049,#0f2a40);color:#fff;border-bottom-color:#3fb5ff}
#boxSim .dlg-b{padding:12px 16px 14px;font-size:13.5px}
#boxSim .dlg-b p{margin:0 0 10px;color:#dfe6ec}
#boxSim .plist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 16px;font-variant-numeric:tabular-nums}
#boxSim .plist li{display:flex;justify-content:space-between;gap:8px;padding:3px 0;color:#dfe6ec;border-bottom:1px solid #ffffff0d}
#boxSim .plist li b{font-weight:600}
#boxSim .plist li.cur{color:var(--gold-hi)}
#boxSim .plist li.done{color:#5d6b78}
#boxSim .otable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
#boxSim .otable caption{text-align:left;font-family:var(--f-head);font-size:12px;text-transform:uppercase;color:#cdd6de;padding:0 0 6px}
#boxSim .otable td,#boxSim .otable th{padding:4px 2px;border-bottom:1px solid #ffffff0d;text-align:left;font-weight:400}
#boxSim .otable th{font-size:11.5px;color:#8c9aa8}
#boxSim .otable .n{text-align:right;white-space:nowrap}
#boxSim .otable tr.gone td{color:#5d6b78;text-decoration:line-through}
#boxSim .otable tr.zr td{color:var(--gold-hi)}
#boxSim .fine{font-size:11.5px;color:#9fb0bf;margin:10px 0 0}
#boxSim .fine b{color:#fff;font-weight:600}
@media (max-width:620px){
#boxSim .plist{grid-template-columns:repeat(2,minmax(0,1fr))}}
#boxSim .below{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:16px;align-items:start}
@media (max-width:860px){
#boxSim .below{grid-template-columns:minmax(0,1fr)}}
#boxSim .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#boxSim .stat{background:#0d1b28;border-radius:5px;padding:8px 10px;box-shadow:inset 0 0 0 1px #ffffff10}
#boxSim .stat .k{font-size:12px;color:#9fb0bf}
#boxSim .stat .v{font-family:var(--f-head);font-weight:700;font-size:20px;font-variant-numeric:tabular-nums;line-height:1.25}
#boxSim .log{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:5px}
#boxSim .log li{font-size:12px;background:#0d1b28;border-radius:4px;padding:2px 7px;box-shadow:inset 0 0 0 1px #ffffff14;font-variant-numeric:tabular-nums}
#boxSim .log li.z{box-shadow:inset 0 0 0 1px var(--gold);color:var(--gold-hi)}
#boxSim .chart{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;align-items:end;height:120px;margin-top:6px;border-bottom:1px solid #ffffff22}
#boxSim .chart .b{background:linear-gradient(180deg,var(--peach-1),#9b6b3f);border-radius:2px 2px 0 0;min-height:1px}
#boxSim .axis{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;font-size:11px;color:#8c9aa8;text-align:center;margin-top:3px}
#boxSim .mc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
#boxSim .budget{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:13.5px}
#boxSim .budget input{width:110px;font:inherit;background:#0d1b28;color:#fff;border:1px solid #ffffff2e;border-radius:6px;padding:5px 8px}
#boxSim .budget output{font-family:var(--f-head);font-weight:700;color:var(--gold-hi)}
@media (max-width:480px){
#boxSim .stat .v{font-size:17px}
#boxSim .stat .k{font-size:11px}}
#boxSim .box-disclaimer{font-size:12px;color:#8c9aa8;border-top:1px solid #ffffff1a;padding-top:10px}/* ---------- overlays ---------- */
#boxSim .ov{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
#boxSim .ov.modal{background:#000a}
#boxSim .ov.modal .dlg{width:min(720px,100%);max-height:88vh;display:flex;flex-direction:column}
#boxSim .ov.modal .dlg-b{overflow:auto}
#boxSim .kick{background:#0b1418;overflow:hidden;cursor:pointer;padding:0}
#boxSim .kick .back-blur{position:absolute;inset:-30px;background:center/cover no-repeat;filter:blur(18px) brightness(.55);transform:scale(1.1)}/* the frame keeps its 1600x661 ratio so the goal squares stay on the same spots; it covers wide screens and shrinks on phones so the whole goal fits */
#boxSim .kick .scene{position:absolute;left:50%;top:46%;width:min(max(100vw,calc(100vh * 2.4206)),calc(100vw / .44));aspect-ratio:1600/661;transform:translate(-50%,-50%);background:center/100% 100% no-repeat}
#boxSim .kick .scene .pyro{position:absolute;inset:0;background:center/100% 100% no-repeat;opacity:0;transition:opacity .25s}
#boxSim .kick .scene.burst .pyro{opacity:1}
#boxSim .kick .tiles{position:absolute;left:31.5%;right:31.5%;top:46.8%;bottom:22.9%;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:1fr 1fr;gap:5%  2.2%}
#boxSim .kick .tiles i{border-radius:6px;opacity:0}
#boxSim .kick .tiles i.hit{animation:box-hit .7s ease-out forwards}
@keyframes box-hit{0%{opacity:0;box-shadow:0 0 0 0 #fff;background:#fff}25%{opacity:1;background:#fff;box-shadow:0 0 40px 18px #fff8}100%{opacity:.0;background:#fff0;box-shadow:0 0 60px 30px #fff0}}
#boxSim .kick .scene.gold .tiles i.hit{animation-name:box-hitg}
@keyframes box-hitg{0%{opacity:0}25%{opacity:1;background:#ffe9a0;box-shadow:0 0 50px 24px #ffcf5a}100%{opacity:0;box-shadow:0 0 80px 40px #ffcf5a00}}
#boxSim .flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#fff 0%,#ffeec0 22%,transparent 60%);opacity:0;pointer-events:none}
@keyframes box-flash{25%{opacity:.95}100%{opacity:0}}
#boxSim .skip{position:absolute;left:0;right:0;bottom:0;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));text-align:center;background:linear-gradient(0deg,#000a,#0000);color:#ffffffc0;font-size:13px}
#boxSim .band-wrap{background:#05090dcc;cursor:pointer}
#boxSim .band{width:100%;padding:0;display:grid;justify-items:center;gap:8px;
  background:linear-gradient(90deg,#3a2414,#b77a45 30%,#f3c48f 55%,#fff6ea);animation:box-slide .5s cubic-bezier(.2,.8,.2,1)}
#boxSim .band.recorded{background:none;gap:0}
#boxSim .band.recorded>img{display:block;width:100%;max-width:calc(2436px / var(--asset-dpr,1));height:auto;filter:none}
#boxSim .band .nm{font-size:13px;color:#fff;text-align:center;padding:8px;text-shadow:0 1px 3px #000}
#boxSim .band.fallback{padding:18px 0 10px}
#boxSim .reward-tile{position:relative;width:min(calc(238px / var(--asset-dpr,1)),60vw);aspect-ratio:238/171;overflow:hidden;border-radius:3px}
#boxSim .reward-tile>img{display:block;width:100%;height:100%;filter:none}
#boxSim .reward-tile>img.p118{position:absolute;inset:7% 4% auto;width:92%;height:70%;object-fit:contain}
#boxSim .reward-tile .q{position:absolute;bottom:4%;left:0;right:0;text-align:center;font-family:var(--f-head);font-weight:500;font-size:min(7.06vw,calc(28px / var(--asset-dpr,1)));line-height:1.1;color:#fff;text-shadow:0 1px 2px #000c}
@keyframes box-slide{from{transform:translateX(-25%);opacity:0}to{transform:none;opacity:1}}/* Real recording stage: clean plate, live card, foreground celebration. */
#boxSim body:has(.ov:not([hidden])){overflow:hidden}
#boxSim .walk{background:#080b10;overflow:hidden;padding:0;cursor:pointer;isolation:isolate}
#boxSim .walk-theatre{position:absolute;inset:0;background:center/cover no-repeat}
#boxSim .walk-card{position:absolute;left:50%;translate:-50% 0;top:17%;width:min(82vw,440px);height:65%;object-fit:contain;filter:drop-shadow(0 14px 18px #000b) drop-shadow(0 0 22px #ffd88566);animation:box-rise 1.2s cubic-bezier(.16,.8,.25,1) both}
#boxSim .walk-heading{position:absolute;top:max(20px,env(safe-area-inset-top));left:20px;right:20px;text-align:center;text-shadow:0 2px 5px #000,0 0 22px #000,0 0 40px #000b;padding:8px;z-index:2}
#boxSim .walk .t{font-family:var(--f-head);font-weight:700;font-size:clamp(20px,3vw,30px);line-height:1.2;overflow-wrap:anywhere}
#boxSim .walk .s{color:#f5dca6;font-size:14px;margin-top:6px}
#boxSim .walk-foot{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:16px;right:16px;display:grid;justify-items:center;gap:8px;text-align:center;z-index:2}
#boxSim .cont{border:1px solid #95f8e4;border-radius:999px;padding:10px 34px;min-height:44px;background:linear-gradient(100deg,#00e994,#00b9df);color:#062218;font-family:var(--f-head);font-weight:700;text-transform:uppercase;cursor:pointer}
#boxSim .walk-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
#boxSim .walk-particles i{position:absolute;left:var(--x);top:-8%;width:5px;height:9px;background:linear-gradient(135deg,#fff9d5,#bb8733);animation:box-confetti var(--duration) var(--delay) linear infinite}
#boxSim .walk-sparks{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 18% 72%,#ffcf5633,transparent 19%),radial-gradient(ellipse at 82% 72%,#ffcf5633,transparent 19%)}
#boxSim .walk-sparks i{position:absolute;left:var(--x);bottom:18%;width:3px;height:13px;background:#fff4c1;box-shadow:0 0 7px #ffd56a;animation:box-spark var(--duration) var(--delay) ease-out infinite}
@keyframes box-confetti{to{transform:translate(35px,115vh) rotate(640deg)}}
@keyframes box-spark{from{transform:translate(0,0);opacity:0}20%{opacity:1}to{transform:translate(var(--drift),-43vh) scale(.2);opacity:0}}
@keyframes box-rise{from{transform:translateY(50px) scale(.45);opacity:0;filter:brightness(3) drop-shadow(0 0 45px #ffdf80)}to{transform:none;opacity:1}}
#boxSim .walk.results::before{display:none}
#boxSim .walk.results{cursor:default;background:#041623 center/cover no-repeat}
#boxSim .result-panel{width:min(720px,100%);max-height:100dvh;overflow:auto;padding:24px 20px;display:grid;justify-items:center;gap:18px;text-align:center}
#boxSim .result-panel .rewards{display:flex;align-items:center;justify-content:center;gap:36px;width:100%;min-width:0}
#boxSim .result-panel figure{margin:0;min-width:0;flex:1;max-width:270px}
#boxSim .result-panel .result-card{width:100%;height:310px;object-fit:contain;filter:drop-shadow(0 8px 18px #0008)}
#boxSim .result-panel .result-token{width:100%;height:310px;object-fit:contain}
#boxSim .result-panel figcaption{font-size:15px;line-height:1.4}
#boxSim .result-panel .s{margin:0}
#boxSim .luck{display:grid;gap:4px;justify-items:center;padding:12px 22px;border-radius:12px;background:linear-gradient(180deg,#fff1c9,#e9b65e 55%,#b9802f);color:#2a1806;box-shadow:inset 0 1px 0 #fffbe9,0 6px 18px #0007,0 0 28px #ffd27a55}
#boxSim .luck b{font-family:var(--f-head);font-weight:800;font-size:clamp(20px,3.4vw,28px);line-height:1.15}
#boxSim .luck span{font-size:14px;font-weight:600}
#boxSim .fp-report{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(520px,100%)}
#boxSim .fp-report div{background:#061a28cc;border:1px solid #ffffff26;border-radius:8px;padding:8px 6px}
#boxSim .fp-report small{display:block;font-size:12px;color:#9fb6c6}
#boxSim .fp-report strong{font-family:var(--f-head);font-size:clamp(16px,2.4vw,20px);font-variant-numeric:tabular-nums}
#boxSim .fp-report .save strong{color:#7ff0b2}
#boxSim .fp-report em,#boxSim .stat .v em{display:block;font-style:normal;font-family:var(--f-body);font-weight:500;font-size:12.5px;color:#c9d6e0;margin-top:2px}
#boxSim .walk-heading .luck-tag{display:inline-block;margin-top:8px;padding:5px 14px;border-radius:999px;background:linear-gradient(180deg,#fff1c9,#d9a24e);color:#2a1806;font-weight:700;font-size:14px;text-shadow:none}
@media(max-width:760px){
#boxSim .result-panel .rewards{gap:14px}
#boxSim .result-panel .result-card{height:245px}
#boxSim .result-panel .result-token{height:245px}
#boxSim .result-panel figcaption{font-size:13px}
#boxSim .walk-heading{top:max(36px,env(safe-area-inset-top))}
}
@media(max-height:500px){
#boxSim .result-panel{gap:8px;padding:12px}
#boxSim .result-panel .result-card{height:180px}
#boxSim .result-panel .result-token{height:120px}
#boxSim .walk-heading{top:8px}
#boxSim .walk-foot{bottom:8px}}
@media (prefers-reduced-motion:reduce){
#boxSim *,#boxSim *::before,#boxSim *::after{animation:none!important;transition:none!important}}
#boxSim .band .reward-tile{width:min(300px,calc(512px / var(--asset-dpr,1)),70vw);aspect-ratio:238/190;background:none;overflow:visible}
#boxSim .band .reward-tile>img{position:absolute;inset:0 8% 16%;width:84%;height:84%;object-fit:contain}
#boxSim .band .reward-tile .q{font-size:28px;bottom:0}

#boxSim{position:relative;border-radius:12px;margin:12px 0 24px;min-width:0}
#boxSim button{letter-spacing:normal;text-transform:none}
#boxSim .hero{border:0;box-shadow:none;background:none;border-radius:0;margin:0}
#boxSim .hero .spot img{max-width:none}
#boxSim .grid{margin:0;padding:0}
#boxSim .ov{z-index:100000}
#boxSim .tool-back{position:static;color:white;text-decoration:none;border:0;padding:0}
#boxSim .box-share{position:static;flex:none;width:28px;height:28px;background:transparent;color:white;border:0;padding:3px;cursor:pointer}
#boxSim .box-share svg{width:22px;height:22px}
#boxSim .page{padding-left:0;padding-right:0}
#boxSim .stage{width:100%}
#boxSim .budget input{font-size:16px}
@media(max-width:759px){#boxSim .topbar{gap:6px}#boxSim .title{font-size:16px}#boxSim .restart{padding:0 8px}#boxSim .hero{padding:2px 4px}#boxSim .hero .spot img{width:100%;height:100%}}

/* Round 2: share the existing tool shell and selector; only the game stage resets styles. */
.box-sim-tool>#boxTool{position:relative;display:grid;gap:0;min-width:0}
.box-sim-tool .pk-odds-btn{right:34px}
.box-sim-tool .pk-ev-text b{white-space:normal;font-size:13px}
.box-sim-tool .pk-ev-text small{font-size:11px}
.box-sim-tool #boxSim{background:transparent;margin-top:16px;min-width:0}
#boxSim .page{padding:0;max-width:none}
#boxSim .stage{box-shadow:none}

/* Round 4: camera shot, impact and native horizontal reward ribbon. */
#boxSim .kick .back-blur{display:none}
#boxSim .kick .scene{top:50%;width:max(100vw,calc(100vh * 2.4206));max-width:none;height:auto;opacity:0}
#boxSim .kick .scene.portrait{width:max(100vw,calc(100vh * .4734));height:max(100vh,calc(100vw / .4734));aspect-ratio:auto;background-size:100% 100%}
#boxSim .kick .scene.portrait .tiles{left:25.7%;right:25.2%;top:43.8%;bottom:49.1%}
#boxSim .kick-intro{position:absolute;inset:0;background:#030b12;display:flex;align-items:center;justify-content:center;gap:12px;font:600 20px var(--f-head);letter-spacing:.13em;z-index:5}
#boxSim .kick-intro img{width:48px;height:56px;filter:drop-shadow(0 0 24px #34e5a077)}
#boxSim .kick .tiles i.hit{background:#f8ffff;border:2px solid white;animation:box-hit .72s cubic-bezier(.12,.7,.25,1) forwards;transform-origin:center;backface-visibility:hidden}
#boxSim .kick .scene.gold .tiles i.hit{animation-name:box-hitg;background:#ffe6a2}
@keyframes box-hit{0%{opacity:1;transform:scale(.7) rotateY(0deg)}25%{opacity:1;transform:scale(1.3) rotateY(80deg);box-shadow:0 0 35px 15px #fff9}100%{opacity:0;transform:scale(1.6) rotateY(165deg)}}
@keyframes box-hitg{0%{opacity:1;transform:scale(.7) rotateY(0deg)}25%{opacity:1;transform:scale(1.4) rotateY(80deg);box-shadow:0 0 55px 25px #ffcd53}100%{opacity:0;transform:scale(1.9) rotateY(165deg)}}
#boxSim .flash{background:radial-gradient(circle at var(--hit-x,50%) var(--hit-y,50%),#fff 0%,#ffeec088 12%,transparent 50%)}
@keyframes box-shot-spark{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(150deg) scale(.2)}}
#boxSim .band-wrap{padding:0;background:#03070cd9;overflow:hidden}
#boxSim .band.game-ribbon{position:relative;isolation:isolate;width:100%;min-height:clamp(220px,28vh,300px);padding:14px 0 18px;gap:0;border-top:1px solid #fff0cf;border-bottom:1px solid #b77e40;box-shadow:0 12px 50px #0007;animation:none;background:linear-gradient(90deg,#17100a 0%,#523317 18%,#a86c31 34%,#f1b979 56%,#ffe3ba 76%,#fffaf1 94%)}
#boxSim .band.game-ribbon::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,#fff8 49%,transparent 62%);animation:box-ribbon-shine 1.1s .2s both;pointer-events:none}
@keyframes box-ribbon-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
#boxSim .game-ribbon .reward-tile{width:clamp(170px,24vh,240px);height:clamp(160px,22vh,220px);aspect-ratio:auto}
#boxSim .game-ribbon .reward-tile>img{inset:0 8% 19%;width:84%;height:81%;filter:drop-shadow(0 5px 7px #40260d55);animation:box-reward-settle .65s cubic-bezier(.16,1,.3,1)}
#boxSim .game-ribbon .reward-tile .q{bottom:0;font-size:20px;color:#211507;text-shadow:none;font-weight:600}
#boxSim .game-ribbon .nm{color:#24170b;text-shadow:none;font-size:14px;padding:6px 18px 0;max-width:100%;overflow-wrap:anywhere}
@keyframes box-reward-settle{from{transform:scale(.75) rotate(-8deg)}60%{transform:scale(1.06) rotate(2deg)}to{transform:scale(1) rotate(0)}}
#boxSim .tile.just{animation:box-land .48s cubic-bezier(.16,1,.3,1)}
#boxSim .tile.just::after{animation:box-check .48s cubic-bezier(.16,1,.3,1)}
@keyframes box-land{0%{transform:scale(.96)}45%{transform:scale(1.035);box-shadow:inset 0 0 0 2px #ffe4af,0 0 18px #ffd07766}100%{transform:scale(1)}}
@keyframes box-check{0%{opacity:0;transform:scale(2)}65%{opacity:1;transform:scale(.88)}100%{opacity:1;transform:scale(1)}}
#boxSim .walk-card{animation:box-card-polish 1.35s cubic-bezier(.16,1,.3,1) both}
@keyframes box-card-polish{0%{opacity:0;transform:translateY(65px) scale(.65);filter:brightness(3) drop-shadow(0 0 30px #ffdc82)}60%{opacity:1;transform:translateY(-6px) scale(1.04);filter:brightness(1.5) drop-shadow(0 0 24px #ffdc82)}100%{opacity:1;transform:translateY(0) scale(1);filter:brightness(1) drop-shadow(0 12px 18px #0009)}}
#boxSim .walk-theatre::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#fff6 50%,transparent 58%);mix-blend-mode:screen;animation:box-ribbon-shine 1.4s .25s both}
@media(prefers-reduced-motion:reduce){#boxSim *,#boxSim *::before,#boxSim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#boxSim .ov[popover]{margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;color:var(--ink)}

#boxSim .scene.gold.portrait .tiles i:not(.hit){opacity:.55;background:#e3ae25;mix-blend-mode:color}

/* Round 5: full-frame flight pass, larger portrait goal, rare fireworks. */
#boxSim .kick .scene.portrait{width:max(155vw,calc(100vh * .4734));height:max(calc(155vw / .4734),100vh)}
#boxSim .kick .scene.gold{filter:brightness(1.28) saturate(1.15)}
#boxSim .kick .scene .pyro{inset:auto;left:8.84%;top:4.66%;width:82.4%;height:94.7%;mask-image:radial-gradient(ellipse,#000 40%,transparent 76%)}
#boxSim .kick .scene.portrait .pyro{left:-4.385%;top:33.92%;width:109.4%;height:22.2%}
@keyframes box-speed{from{transform:scale(.9) rotate(-2deg);opacity:.4}to{transform:scale(1.8) rotate(2deg);opacity:.9}}
@keyframes box-gold-glow{from{opacity:1;transform:scale(.4)}35%{opacity:1;transform:scale(1.7)}to{opacity:0;transform:scale(2.2)}}
#boxSim .goal-flames{position:absolute;height:0;pointer-events:none}
#boxSim .goal-flames i{position:absolute;bottom:-15px;left:-9%;width:clamp(28px,5vw,70px);height:clamp(110px,24vh,240px);transform-origin:50% 100%;border-radius:65% 35% 20% 20%;background:radial-gradient(ellipse at 50% 90%,#fff 8%,#fff8b0 27%,#ffd52a 45%,#ff7a0066 65%,transparent 72%);filter:blur(3px);mix-blend-mode:screen;animation:box-flame .16s alternate infinite}
#boxSim .goal-flames i+i{left:auto;right:-9%;animation-delay:-.08s}
@keyframes box-flame{from{transform:scale(.8,1);opacity:.8}to{transform:scale(1.15,.82);opacity:1}}
#boxSim .band.game-ribbon{overflow:hidden;height:clamp(270px,36vh,320px);min-height:0;padding:10px 0 12px;align-content:center}
#boxSim .band.game-ribbon .reward-tile{width:280px;max-width:80vw;height:230px;overflow:visible}
#boxSim .band.game-ribbon .reward-tile>img{inset:-15% -10% auto;width:120%;height:110%;object-fit:contain;animation:none}
#boxSim .band.game-ribbon .reward-tile .q{bottom:0;font-size:24px}
#boxSim .band.game-ribbon .nm{padding-top:4px}


/* Round 6: one goal camera, expanding white bloom, uninterrupted reward handoff. */
#boxSim .scene-camera{position:absolute;inset:0;will-change:transform,filter}
#boxSim .kick .scene .tiles{position:absolute}
#boxSim .kick .tiles i.chosen{opacity:1;background:#ffe8a388;box-shadow:0 0 30px 15px #ffd26b88;transition:box-shadow 1s}
#boxSim .kick .tiles .goal-flames{left:0;top:100%;width:100%;height:0}
#boxSim .vignette{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse,transparent 20%,#000b 100%)}
#boxSim .kick .flash{position:absolute;inset:0;z-index:6;background:#fff;opacity:0;pointer-events:none}
#boxSim .kick .flash.warm,#boxSim .reward-white.warm{background:#fffaf0}
#boxSim .reward-white{position:absolute;inset:0;z-index:10;background:white;pointer-events:none}

/* single box: the picker stays in the page for later boxes but is not shown */
#box-simulator [hidden]{display:none!important}

/* Sign-in copy stays readable inside the existing one-row claim bar. */
#boxSim .claimbar .buy.sign-in{font-size:clamp(12px,1.5vw,16px);white-space:normal;line-height:1.15;max-width:48%}
