.claim-page{--claim-green:#264e40;--claim-cream:#faf2dc;--claim-red:#c44d31;--claim-gold:#edbd63;--claim-dark:#203b31;--claim-line:#cfc7ad}.arcade-page.claim-page .claim-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:24px}.claim-eyebrow{font-size:9px;letter-spacing:1.2px;font-weight:bold}.arcade-page.claim-page .claim-heading h1{font-family:Georgia,serif;font-weight:bold;font-size:clamp(48px,5.7vw,78px);letter-spacing:-4px;margin:12px 0 0}.arcade-page.claim-page .claim-heading h1 em{color:var(--claim-red)}.arcade-page.claim-page .claim-heading h1>span{font:48px/1 Georgia,serif;color:var(--claim-green);margin-left:22px;display:inline-block;vertical-align:middle}.arcade-page.claim-page .claim-heading>p{font-size:12px;line-height:1.8;margin:0 0 4px}.arcade-page.claim-page .claim-heading>p strong{color:var(--claim-red)}.arcade-page.claim-page .claim-layout{grid-template-columns:minmax(0,1fr) 266px;gap:30px}.arcade-page.claim-page .claim-cabinet{background:var(--claim-green);border-color:var(--claim-dark);border-radius:5px;touch-action:pan-y;box-shadow:6px 7px 0 #cfc8b4}.claim-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;color:var(--claim-cream);min-height:52px}.claim-brand{font:bold 24px/1 Georgia,serif;letter-spacing:-2px;display:flex;align-items:center;gap:13px}.claim-brand small{font:8px/1.6 var(--mono);letter-spacing:1.3px;max-width:60px}.claim-tools{display:flex;gap:3px}.claim-tools>button{display:flex;align-items:center;gap:5px;justify-content:center;min-width:44px;min-height:44px;padding:6px 8px;color:inherit;background:transparent;border:1px solid transparent;border-radius:3px;font-size:9px}.claim-tools button:hover{border-color:#d4ddba80}.claim-tools button:disabled{opacity:.4}.claim-tools .icon{width:17px;height:17px}.claim-hud{display:grid;grid-template-columns:1.5fr .7fr 1fr 1fr;background:var(--claim-cream);padding:16px 22px 13px;gap:14px;color:var(--claim-dark);border-top:1px solid #16372b}.claim-hud>div>span{display:block;font-size:8px;font-weight:bold;letter-spacing:1.2px;margin-bottom:7px}.claim-hud strong{font-size:27px;line-height:1;letter-spacing:.6px;font-variant-numeric:tabular-nums}.claim-hud small{font-size:12px;padding-left:2px;font-weight:normal}.claim-hud .claim-life{text-align:right}.claim-life strong{font-size:18px;white-space:nowrap;color:var(--claim-red);letter-spacing:1px}.claim-progress{display:flex;align-items:center;gap:13px;background:#e7dfc5;color:var(--claim-dark);padding:10px 22px;border-top:1px solid #c9bfa6;font-size:8px;font-weight:bold;letter-spacing:.6px}.claim-progress>span{white-space:nowrap}.claim-progress>b{min-width:68px;text-align:right;font-size:10px;white-space:nowrap}.claim-progress progress{display:block;flex:1;min-width:20px;height:7px;border:0;background:#c8c2aa;accent-color:var(--claim-green);border-radius:0}.claim-progress progress::-webkit-progress-bar{background:#c8c2aa}.claim-progress progress::-webkit-progress-value{background:var(--claim-green)}.claim-screen{position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;min-height:0;background:#533526;isolation:isolate;touch-action:none}.claim-screen>canvas{display:block;width:100%;height:100%;max-width:100%;touch-action:none;user-select:none;-webkit-touch-callout:none;cursor:crosshair}.claim-screen>canvas:focus-visible{outline:3px dashed #fff1bf;outline-offset:-5px}.claim-overlay{position:absolute;inset:0;background:#172b2640;display:grid;place-items:center;padding:16px;overflow:auto;z-index:2}.claim-overlay[hidden]{display:none}.claim-ticket{background:var(--claim-cream);border:2px solid var(--claim-dark);color:var(--claim-dark);width:310px;max-width:100%;padding:22px 24px 17px;text-align:center;box-shadow:7px 7px 0 #1e342e85;transform:rotate(-2deg)}.claim-ticket>img{display:block;margin:13px auto 8px}.claim-ticket h2{color:var(--claim-dark);font:bold 40px/.97 Georgia,serif;letter-spacing:-2px;margin:10px 0 13px}.claim-ticket h2 em{color:var(--claim-red)}.claim-ticket p{font-size:11px;line-height:1.7;margin:10px 0 17px}.claim-primary{display:block;width:100%;border:1px solid var(--claim-dark);background:var(--claim-red);color:#fff7df;padding:14px 12px;min-height:48px;font-size:11px;font-weight:bold;letter-spacing:.5px;box-shadow:3px 3px 0 var(--claim-dark);transition:transform .12s,box-shadow .12s}.claim-primary:hover{background:#b43f29;transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--claim-dark)}.claim-primary:active{transform:translate(2px,2px);box-shadow:none}.claim-text-button{border:0;background:none;font-size:9px;min-height:44px;font-weight:bold;padding:11px 3px;color:var(--claim-dark);text-decoration:underline;text-underline-offset:4px}.claim-ticket-foot{display:block;font-size:8px;letter-spacing:.4px;font-weight:bold}.claim-total{display:block;font:bold 38px/1 var(--mono);margin:14px 0 6px}.claim-result-ticket>.claim-ticket-foot{margin-bottom:20px}.claim-actions{display:grid;grid-template-columns:1.05fr 1.3fr .85fr;gap:10px;padding:12px 16px;background:var(--claim-green)}.claim-actions button{min-height:48px;border:1px solid #b6c4ac;color:var(--claim-cream);background:transparent;font-size:9px;font-weight:bold}.claim-actions button:disabled{opacity:.4}.claim-axis{display:grid;grid-template-columns:1fr 1fr;gap:0}.claim-axis button{display:flex;gap:7px;align-items:center;justify-content:center}.claim-axis button+button{border-left:0}.claim-axis button b{font-size:23px;line-height:1}.claim-axis button[aria-pressed="true"]{color:var(--claim-dark);background:var(--claim-cream)}#claim-stretch{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--claim-gold);color:var(--claim-dark);border-color:var(--claim-gold);padding:8px 16px}#claim-stretch>b{font-size:22px}#claim-slow{display:flex;align-items:center;justify-content:center;gap:7px}#claim-slow[aria-pressed="true"]{background:#f1d99e;color:var(--claim-dark)}#claim-slow .icon{width:16px;height:16px}.claim-statusbar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #eff3d133;padding:9px 16px;min-height:40px;color:#e9e7ce}.claim-statusbar>p{font-size:9px;margin:0;line-height:1.6}.claim-statusbar>span{font-size:7px;letter-spacing:1px;white-space:nowrap}.claim-instructions{padding-top:27px}.claim-instructions>h2{font:normal 24px/1.2 Georgia,serif;letter-spacing:-.6px;margin:0 0 19px}.claim-recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.claim-recipe-grid b{font-size:9px;letter-spacing:.6px;color:var(--claim-red)}.claim-recipe-grid p{font-size:10px;line-height:1.8;margin:9px 0}.claim-key-legend{font-size:9px;line-height:2.8;margin:14px 0 0;border-top:1px solid var(--line);padding-top:13px}.claim-key-legend kbd{font-size:8px}.claim-order{border:1px solid var(--ink);padding:27px 23px;background:var(--claim-cream);color:var(--claim-dark)}.claim-order>.claim-eyebrow{font-size:8px;letter-spacing:.7px}.claim-order h2{font:normal 38px/1.02 Georgia,serif;letter-spacing:-1.8px;margin:21px 0 25px}.claim-order h2 em{color:var(--claim-red)}.claim-order-line{display:flex;align-items:center;justify-content:space-between;border-block:1px dashed #a69e81;padding:12px 0;font-size:9px;letter-spacing:1px}.claim-order-line>b{font:italic bold 34px/1 Georgia,serif;color:var(--claim-red)}.claim-order>p{font-size:10px;line-height:1.9;margin:18px 0}.claim-best{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid #c9bfa6}.claim-best>span{font-size:8px;letter-spacing:1px}.claim-best>strong{font-size:33px;letter-spacing:1px}.claim-order>.claim-local-note{font-size:9px;line-height:1.8;margin-bottom:0;color:#69644f}.claim-chef-note{position:relative;padding:23px 23px 17px;background:#dfe69c;color:#293a2c;margin-top:25px;transform:rotate(1.5deg);box-shadow:3px 3px 0 #c5c797}.claim-chef-note>img{float:right;margin-left:7px}.claim-chef-note>.claim-eyebrow{font-size:8px;line-height:1.7;display:block}.claim-chef-note h3{font:normal 30px/1.05 Georgia,serif;letter-spacing:-1px;margin:16px 0}.claim-chef-note>p{font-size:10px;line-height:1.9}.claim-basil-key{display:flex;align-items:center;gap:12px;border-top:1px solid #adb373;padding-top:10px;margin-top:16px;font-size:8px;font-weight:bold;letter-spacing:.3px}.claim-basil-key>i{font-size:26px;font-style:normal;color:#416438}#claim-help-dialog{width:580px;max-width:calc(100% - 24px);max-height:calc(100dvh - 30px);overflow:auto;padding:32px;border:2px solid var(--claim-dark);background:var(--claim-cream);color:var(--claim-dark);box-shadow:9px 9px 0 #142f265c}#claim-help-dialog::backdrop{background:#142b26aa;backdrop-filter:blur(3px)}.claim-close{position:absolute;right:10px;top:8px;width:44px;height:44px;font-size:28px;background:transparent;border:0}#claim-help-dialog h2{color:var(--claim-dark);font:normal 40px/1.1 Georgia,serif;letter-spacing:-1px;margin:14px 0 18px}#claim-help-dialog p,#claim-help-dialog li{font-size:11px;line-height:1.9}#claim-help-dialog ol{padding-left:20px}#claim-help-dialog li{padding:6px 0 6px 4px}.claim-help-demo{padding:14px;border:1px solid #c9bfa6;background:#e8dec2;margin:20px 0}.claim-help-demo>canvas{width:100%;height:auto;display:block;margin:0 0 13px;aspect-ratio:4/3}.claim-help-demo>p{text-align:center;margin-bottom:0}.arcade-page.claim-page .claim-cabinet.is-expanded{position:fixed;left:0;right:0;top:0;width:100%;height:100dvh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;z-index:1000;border:0;border-radius:0;box-shadow:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen{aspect-ratio:auto}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-toolbar{padding-block:2px;min-height:44px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud{padding-block:9px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud strong{font-size:23px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions{padding-block:8px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen>canvas{max-width:none;max-height:none}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-ticket{transform:none}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen{position:relative}
:root[data-theme="dark"] .claim-page{--claim-cream:#e0d8bf;--claim-red:#c65032;--claim-line:#4c594c}:root[data-theme="dark"] .arcade-page.claim-page .claim-heading h1>span{color:#b6c79c}:root[data-theme="dark"] .arcade-page.claim-page .claim-heading h1 em,:root[data-theme="dark"] .arcade-page.claim-page .claim-heading>p strong,:root[data-theme="dark"] .claim-recipe-grid b{color:#ee9974}:root[data-theme="dark"] .arcade-page.claim-page .claim-cabinet{box-shadow:6px 7px 0 #111f19}:root[data-theme="dark"] .claim-chef-note{background:#bdc383}:root[data-theme="dark"] .claim-order{border-color:#81927a}
@media(min-width:1450px){.arcade-page.claim-page .claim-layout{grid-template-columns:minmax(0,1fr) 285px;gap:36px}.claim-screen{max-height:660px}}
@media(max-width:1050px){.arcade-page.claim-page .claim-layout{grid-template-columns:minmax(0,1fr) 225px;gap:22px}.claim-hud{padding-inline:15px;gap:10px}.claim-tools button>span{display:none}.claim-order{padding:23px 18px}.claim-order h2{font-size:34px}.claim-toolbar{padding-inline:12px}.arcade-page.claim-page .claim-heading h1{font-size:58px}.arcade-page.claim-page .claim-heading h1>span{font-size:38px;margin-left:15px}.claim-axis button{gap:3px}.claim-actions{gap:7px;padding-inline:12px}}
@media(max-width:800px){.arcade-page.claim-page .claim-layout{grid-template-columns:1fr}.claim-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:22px}.claim-chef-note{margin-top:0;align-self:start}.arcade-page.claim-page .claim-heading{padding-bottom:20px}.claim-order h2{font-size:34px}.claim-screen{max-height:none}.arcade-page.claim-page .claim-heading h1{font-size:59px}.claim-hud{padding-inline:20px}.claim-tools button>span{display:inline}.claim-tools{gap:0}}
@media(max-width:520px){.arcade-page.claim-page .claim-heading>p{display:none}.arcade-page.claim-page .claim-heading h1{font-size:53px;letter-spacing:-3px}.arcade-page.claim-page .claim-heading .claim-eyebrow{font-size:8px;letter-spacing:.6px}.arcade-page.claim-page .claim-heading h1>span{font-size:33px;float:right;margin:12px 0 0 18px}.arcade-page.claim-page .claim-heading>div{width:100%}.arcade-page.claim-page .claim-layout{gap:16px}.claim-toolbar{padding:3px 8px;min-height:48px}.claim-brand{font-size:22px;gap:6px}.claim-brand small{font-size:7px;max-width:55px;letter-spacing:.5px}.claim-tools button>span{display:none}.claim-tools>button{padding:7px;min-width:40px}.claim-hud{padding:11px 12px;gap:9px;grid-template-columns:1.35fr .65fr .8fr 1fr}.claim-hud>div>span{font-size:6px;letter-spacing:.5px;margin-bottom:5px}.claim-hud strong{font-size:20px}.claim-life strong{font-size:13px}.claim-progress{padding:9px 12px;gap:9px;font-size:6px;letter-spacing:0}.claim-progress>b{min-width:59px;font-size:9px}.claim-actions{padding:9px 8px;gap:6px;grid-template-columns:1.05fr 1.22fr .8fr}.claim-axis button{flex-direction:column;gap:3px;font-size:7px}.claim-axis button b{font-size:20px}.claim-actions button{font-size:8px}#claim-stretch{padding:7px 9px;gap:3px}#claim-stretch>b{font-size:19px}#claim-slow{flex-direction:column;gap:4px;font-size:7px}.claim-ticket{width:245px;padding:15px 18px 12px}.claim-ticket>img{width:34px;height:39px;margin:8px auto}.claim-ticket h2{font-size:33px;margin:8px 0 10px}.claim-ticket p{font-size:10px;margin:9px 0 12px}.claim-ticket .claim-eyebrow{font-size:7px;letter-spacing:.5px}.claim-ticket .claim-primary{min-height:44px;padding:11px;font-size:10px}.claim-ticket-foot{font-size:6px;letter-spacing:.1px}.claim-text-button{font-size:8px;min-height:36px;padding:10px 2px}.claim-overlay{padding:12px}.claim-statusbar{padding:8px 10px;min-height:39px}.claim-statusbar>p{font-size:8px}.claim-statusbar>span{display:none}.claim-recipe-grid{gap:12px}.claim-recipe-grid b{font-size:8px;letter-spacing:0}.claim-recipe-grid p{font-size:9px;line-height:1.8}.claim-instructions>h2{font-size:22px}.claim-instructions{padding-top:20px}.claim-key-legend{font-size:8px}.claim-sidebar{gap:18px}.claim-order{padding:19px 16px}.claim-order h2{font-size:28px;margin:16px 0}.claim-chef-note{padding:18px 16px}.claim-chef-note>img{display:none}.claim-chef-note h3{font-size:27px}.claim-chef-note>p,.claim-order>p{font-size:9px}.claim-order>.claim-eyebrow,.claim-chef-note>.claim-eyebrow{font-size:7px;letter-spacing:.2px}.claim-order-line{font-size:8px;letter-spacing:0}.claim-order-line>b{font-size:28px}.claim-basil-key{gap:5px;font-size:6px}.claim-basil-key>i{font-size:22px}#claim-help-dialog{padding:25px 20px}.claim-help-demo{padding:10px}#claim-help-dialog h2{font-size:32px}.claim-total{font-size:29px;margin:9px 0 4px}.claim-result-ticket>.claim-ticket-foot{margin-bottom:13px}}
@media(max-height:500px){.arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud{padding-block:5px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud>div>span{font-size:6px;margin-bottom:4px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud strong{font-size:18px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress{padding-block:6px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions{padding-block:5px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions button{min-height:40px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar{min-height:25px;padding-block:5px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-toolbar{min-height:40px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-tools>button{min-height:36px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-ticket{padding:12px 17px;width:330px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-ticket h2{font-size:25px;margin:6px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-ticket h2 br{display:none}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-ticket>img,.arcade-page.claim-page .claim-cabinet.is-expanded .claim-ticket p,.arcade-page.claim-page .claim-cabinet.is-expanded .claim-ticket-foot{display:none}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-ticket .claim-primary{padding:10px;min-height:40px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-total{font-size:24px;margin:7px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-result-ticket{max-height:100%;overflow:auto}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-result-ticket p{display:block;font-size:9px;margin:6px}}
@media(prefers-reduced-motion:reduce){.claim-primary{transition:none}.claim-chef-note,.claim-ticket{transform:none}}

/* Match the shared Traditional Chinese reading sizes and typefaces. */
html:lang(zh) .claim-page .claim-heading h1{font-family:"PingFang TC","Microsoft JhengHei",sans-serif;letter-spacing:.015em;font-size:clamp(39px,4.8vw,64px)}
html:lang(zh) .claim-page .claim-heading h1 em{font-family:inherit}
html:lang(zh) .claim-page .claim-recipe-grid p,html:lang(zh) .claim-page .claim-order>p,html:lang(zh) .claim-page .claim-chef-note>p{font-size:16px;line-height:1.85}
html:lang(zh) .claim-page .claim-recipe-grid b,html:lang(zh) .claim-page .claim-eyebrow{font-size:12px;letter-spacing:.05em}
html:lang(zh) .claim-page .claim-ticket p{font-size:15px}
html:lang(zh) .claim-page .claim-ticket h2{letter-spacing:.02em;line-height:1.18}
html:lang(zh) .claim-page .claim-primary{font-size:14px;letter-spacing:.03em}
html:lang(zh) .claim-page .claim-text-button{font-size:12px}
html:lang(zh) .claim-page .claim-ticket-foot{font-size:10px;letter-spacing:.02em}
html:lang(zh) .claim-page .claim-hud>div>span{font-size:11px;letter-spacing:.02em}
html:lang(zh) .claim-page .claim-progress{font-size:11px}
html:lang(zh) .claim-page .claim-tools button{font-size:12px}
html:lang(zh) .claim-page .claim-actions button{font-size:12px;letter-spacing:.02em}
html:lang(zh) .claim-page .claim-statusbar>p{font-size:12px}
html:lang(zh) .claim-page .claim-order>.claim-local-note{font-size:13px}
html:lang(zh) .claim-page .claim-key-legend{font-size:12px}
html:lang(zh) .claim-page .claim-basil-key{font-size:11px}
html:lang(zh) .claim-page #claim-help-dialog p,html:lang(zh) .claim-page #claim-help-dialog li{font-size:16px;line-height:1.85}
html:lang(zh) .claim-page .claim-order h2,html:lang(zh) .claim-page .claim-chef-note h3{letter-spacing:.02em;line-height:1.25}
@media(max-width:520px){html:lang(zh) .claim-page .claim-recipe-grid{grid-template-columns:1fr;gap:14px}html:lang(zh) .claim-page .claim-recipe-grid p{margin:7px 0}html:lang(zh) .claim-page .claim-sidebar{grid-template-columns:1fr}html:lang(zh) .claim-page .claim-ticket{padding:12px 16px}html:lang(zh) .claim-page .claim-ticket h2{font-size:27px;margin-block:5px}html:lang(zh) .claim-page .claim-ticket p{font-size:12px;margin:8px 0}html:lang(zh) .claim-page .claim-ticket>.claim-eyebrow{font-size:9px}html:lang(zh) .claim-page .claim-ticket>img{width:30px;height:35px;margin:5px auto}html:lang(zh) .claim-page .claim-ticket-foot{font-size:8px}html:lang(zh) .claim-page .claim-primary{font-size:12px}html:lang(zh) .claim-page .claim-hud>div>span{font-size:9px}html:lang(zh) .claim-page .claim-progress{font-size:9px}html:lang(zh) .claim-page .claim-actions button{font-size:10px}html:lang(zh) .claim-page .claim-statusbar>p{font-size:10px}html:lang(zh) .claim-page .claim-eyebrow{font-size:10px}}

html:lang(zh) .claim-page .claim-order h2{font-size:26px}
.claim-brand{white-space:nowrap}.claim-brand small{white-space:normal;min-width:0}
/* On short landscape screens, give the tray the height and put the ticket at its side. */
@media(orientation:landscape) and (max-height:520px){
 .arcade-page.claim-page .claim-cabinet.is-expanded{grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:44px 86px 38px minmax(0,1fr) 42px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-toolbar{grid-column:1/-1;grid-row:1}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen{grid-column:1;grid-row:2/6;width:100%;height:100%}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud{grid-column:2;grid-row:2;grid-template-columns:1fr 1fr;padding:8px 12px;gap:8px 12px;align-items:center}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud>div>span{font-size:8px;margin-bottom:4px;letter-spacing:.2px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud strong{font-size:20px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud .claim-life strong{font-size:15px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress{grid-column:2;grid-row:3;display:grid;grid-template-columns:1fr auto;padding:5px 12px;gap:4px 7px;font-size:8px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress progress{grid-column:1/-1;grid-row:2;width:100%}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress>b{font-size:9px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions{grid-column:2;grid-row:4;grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(36px,1fr));padding:9px 12px;gap:7px;min-height:0}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-axis button{flex-direction:row;font-size:10px;min-height:36px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions>button{min-height:36px;font-size:10px}
 .arcade-page.claim-page .claim-cabinet.is-expanded #claim-slow{flex-direction:row;font-size:10px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar{grid-column:2;grid-row:5;padding:5px 12px;min-height:0}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar>p{font-size:9px;line-height:1.6}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar>span{display:none}
 html:lang(zh) .claim-page .claim-cabinet.is-expanded .claim-hud>div>span{font-size:10px}
 html:lang(zh) .claim-page .claim-cabinet.is-expanded .claim-progress{font-size:10px}
 html:lang(zh) .claim-page .claim-cabinet.is-expanded .claim-actions button{font-size:12px}
 html:lang(zh) .claim-page .claim-cabinet.is-expanded .claim-statusbar>p{font-size:11px}
}
.claim-hud>div{line-height:1}.claim-hud strong{display:block}
@media(orientation:landscape) and (max-height:520px){
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud{padding-block:5px;gap:4px 12px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud>div>span{line-height:1.2;margin-bottom:2px}
}
.claim-sidebar>.leaderboard{margin-bottom:24px}.claim-sidebar .board-heading h2 .icon{width:24px;height:24px;color:var(--claim-red)}
#claim-network{z-index:4}.claim-network-ticket{transform:none;max-height:100%;overflow:auto}.claim-network-ticket h2{font-size:32px}.claim-network-ticket p{overflow-wrap:anywhere}.claim-network-ticket .claim-text-button{display:block;width:100%}
.claim-result-ticket{width:360px;transform:none;max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.claim-score-entry{margin:16px 0 20px;padding-top:14px;border-top:1px dashed #aaa185;text-align:left;min-width:0}
.claim-score-entry[hidden],.claim-score-entry [hidden]{display:none!important}
.claim-score-entry label{display:block;font-size:9px;font-weight:bold;letter-spacing:.5px;margin:0 0 8px}
.claim-name-row{display:flex;align-items:center;gap:8px;min-width:0}
.claim-name-row>input{display:block;width:100%;min-width:0;min-height:44px;padding:9px 10px;border:1px solid #54705a;border-radius:0;background:#fffdf5;color:var(--claim-dark);font-size:16px}
.claim-name-row>button{flex:none;min-width:74px;min-height:44px;border:1px solid var(--claim-dark);padding:9px;background:var(--claim-green);color:#fff7df;font-weight:bold;font-size:11px}
.claim-name-row .score-account-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:16px;line-height:1.5}
.claim-save-status{font-size:11px!important;line-height:1.8!important;margin:12px 0 0!important;overflow-wrap:anywhere}
.claim-save-status.is-nickname-conflict{color:#9d3525}
.claim-score-entry .score-sign-in{margin:8px 0;display:flex;flex-direction:column;align-items:start;gap:4px}
.claim-score-entry .score-sign-in button{padding:5px 0;min-height:44px;text-align:left;border:0;background:transparent;color:#315b49;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.claim-score-entry .score-sign-in small{font-size:9px;color:#69644f}
.claim-score-entry .account-score-notice{font-size:10px;line-height:1.6;margin:8px 0}
.claim-score-entry .score-register-invite{font-size:10px;line-height:1.7;color:var(--claim-dark);margin-top:12px;text-align:left}
.claim-result-ticket.is-signing-in>.claim-eyebrow,.claim-result-ticket.is-signing-in>h2,.claim-result-ticket.is-signing-in>p,.claim-result-ticket.is-signing-in>.claim-ticket-foot,.claim-result-ticket.is-signing-in>.claim-primary,.claim-result-ticket.is-signing-in>.claim-text-button{display:none!important}
.claim-result-ticket.is-signing-in .claim-score-entry{margin:10px 0 0}
.claim-score-entry .score-sign-in-panel{--ink:#203c34;--paper:#fffdf5;--muted:#66614e;--line:#425b41;--sea-dark:#35594c;color:#203c34}
html:lang(zh) .claim-score-entry label,html:lang(zh) .claim-score-entry .score-sign-in button{font-size:13px}
html:lang(zh) .claim-save-status{font-size:13px!important}
html:lang(zh) .claim-score-entry .account-score-notice,html:lang(zh) .claim-score-entry .score-sign-in small{font-size:12px}
@media(max-width:800px){.claim-sidebar>.leaderboard{grid-column:1/-1;margin-bottom:0}}
@media(max-width:520px){.claim-result-ticket{width:270px}.claim-result-ticket>.claim-ticket-foot{margin-bottom:12px}.claim-score-entry{margin:12px 0 14px;padding-top:10px}.claim-network-ticket h2{font-size:27px}.claim-save-status{font-size:10px!important}}
@media(max-height:500px){.arcade-page.claim-page .claim-cabinet.is-expanded .claim-result-ticket{width:360px}.arcade-page.claim-page .claim-cabinet.is-expanded .claim-result-ticket>.claim-score-entry:not([hidden]){display:block}.claim-result-ticket.is-signing-in .score-sign-in-copy{display:block!important}.claim-result-ticket .account-score-notice:not([hidden]),.claim-result-ticket .claim-save-status:not([hidden]){display:block!important}}
/* Receipts stay on cream paper in either site theme. */
.claim-result-ticket,.claim-score-entry{--ink:#203b31;--paper:#fffdf5;--muted:#66614e;--line:#aaa185;--sea-dark:#315b49}
.arcade-page.claim-page .claim-cabinet .claim-score-entry .score-sign-in button{color:#315b49}
.arcade-page.claim-page .claim-cabinet .claim-score-entry .score-sign-in small{color:#66614e}

.claim-beta-notice{padding:12px 16px;margin:0 0 24px;border-left:3px solid var(--claim-red);background:var(--soft);color:var(--muted);font:13px/1.7 var(--body)}
.claim-beta-notice p{margin:0}.claim-beta-notice p+p{margin-top:3px}.claim-beta-notice strong{font-weight:700;color:var(--ink)}.claim-beta-notice a{color:var(--claim-red);text-decoration:underline;text-underline-offset:3px}
html:lang(zh) .claim-beta-notice{font-size:14px}

/* Keep the tray and recipe readable when a narrow screen enlarges text. */
.claim-page{--claim-red:#9b321f}
:root[data-theme="dark"] .claim-page{--claim-red:#a73720}
.claim-beta-notice a{color:#8b2b19}
:root[data-theme="dark"] .claim-beta-notice a{color:#ffb997}
.claim-primary{background:#a33720;color:#fff}
.claim-primary:hover{background:#8b2b19}
.claim-page .claim-eyebrow,.claim-page .claim-brand small,.claim-page .claim-hud>div>span,.claim-page .claim-progress,.claim-page .claim-progress>b,.claim-page .claim-statusbar>p,.claim-page .claim-statusbar>span,.claim-page .claim-ticket-foot,.claim-page .claim-actions button,.claim-page .claim-tools>button,.claim-page .claim-recipe-grid b,.claim-page .claim-key-legend,.claim-page .claim-order>p,.claim-page .claim-chef-note>p,.claim-page .claim-basil-key{font-size:clamp(12px,1rem,16px);line-height:1.45;letter-spacing:normal}
.claim-page .claim-ticket p,.claim-page .claim-text-button,.claim-page .claim-primary,.claim-page .claim-save-status{font-size:clamp(14px,1rem,18px)!important;line-height:1.45}
.claim-page .claim-tools>button{min-width:44px;min-height:44px}
.claim-page .claim-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.9fr)}
.claim-page .claim-actions>*{min-width:0}
.claim-page .claim-actions button{overflow-wrap:anywhere}
.claim-page .claim-hud{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.claim-page .claim-hud>div{min-width:0;overflow-wrap:anywhere}
.claim-page .claim-hud strong{font-size:clamp(18px,3vw,27px)}
.claim-page .claim-statusbar{flex-wrap:wrap}
.claim-page .claim-recipe-grid p,.claim-page .claim-order>.claim-local-note{font-size:14px;line-height:1.6}
.claim-page .claim-recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#claim-help-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);overflow-wrap:anywhere}
#claim-help-dialog p,#claim-help-dialog li,#claim-help-dialog td,#claim-help-dialog th,#claim-help-dialog summary,#claim-help-dialog figcaption{font-size:16px;line-height:1.55}
html:lang(zh) #claim-help-dialog p,html:lang(zh) #claim-help-dialog li,html:lang(zh) #claim-help-dialog td,html:lang(zh) #claim-help-dialog th,html:lang(zh) #claim-help-dialog summary,html:lang(zh) #claim-help-dialog figcaption{font-size:18px}
#claim-help-dialog h3{font-size:22px;margin:22px 0 10px}
.claim-help-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.claim-help-figures figure{min-width:0;margin:0;padding:10px;border:1px solid #8b8571;background:#fffdf5}
.claim-help-figures canvas{display:block;width:80px;max-width:100%;height:auto;aspect-ratio:5/4;margin-bottom:6px}
.claim-help-table-wrap{max-width:100%;overflow-x:auto}
#claim-help-dialog table{width:100%;border-collapse:collapse;table-layout:fixed}
#claim-help-dialog th,#claim-help-dialog td{padding:8px;text-align:left;vertical-align:top;border:1px solid #8b8571;overflow-wrap:anywhere}
#claim-help-dialog details{padding:12px;border:1px solid #8b8571}
#claim-help-dialog summary{cursor:pointer;font-weight:bold}
#claim-help-resume{margin:16px 0}
#claim-start-error{color:#742715;font-weight:bold}
@media(max-width:520px){.claim-page .claim-recipe-grid,.claim-page .claim-sidebar{grid-template-columns:minmax(0,1fr)}.claim-help-figures{grid-template-columns:minmax(0,1fr)}.claim-page .claim-toolbar{flex-wrap:wrap}.claim-page .claim-brand{min-width:0}.claim-page .claim-actions{display:flex;flex-wrap:wrap}.claim-page .claim-actions>*{flex:1 1 44%}.claim-page .claim-actions>#claim-slow{flex-basis:100%}.claim-page .claim-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.claim-page .claim-hud .claim-life{text-align:left}.claim-page .claim-progress{flex-wrap:wrap}.claim-page .claim-progress progress{flex-basis:100%}}
@media(max-width:520px){
 .arcade-page.claim-page .claim-heading h1{font-size:clamp(26px,8vw,48px);letter-spacing:-1px;overflow-wrap:anywhere}
 .arcade-page.claim-page .claim-heading h1>span{float:none;margin-left:4px;font-size:24px}
 .claim-page .claim-toolbar{display:block}
 .claim-page .claim-brand{max-width:100%;overflow-wrap:anywhere}
 .claim-page .claim-tools{display:grid;grid-template-columns:repeat(2,minmax(44px,1fr));width:100%}
 .claim-page .claim-ticket{box-sizing:border-box;width:min(245px,100%);padding:12px}
 .claim-page .claim-ticket h2{font-size:clamp(23px,7vw,33px);overflow-wrap:anywhere}
 .claim-page .claim-overlay{padding:8px}
}
#claim-help-dialog{max-width:min(calc(100% - 24px),calc(100vw - 24px))}
:root[data-theme="dark"] .claim-order>.claim-local-note{color:#4d4938}
:root[data-theme="dark"] .claim-basil-key>i{color:#294422}

/* Keep the translated HUD and controls at the same readable size as English. */
.claim-page .claim-hud>div>span,.claim-page .claim-progress,.claim-page .claim-actions button,.claim-page .claim-statusbar>p,html:lang(zh) .claim-page .claim-hud>div>span,html:lang(zh) .claim-page .claim-progress,html:lang(zh) .claim-page .claim-actions button,html:lang(zh) .claim-page .claim-statusbar>p{font-size:max(12px,1rem);line-height:1.45}
.claim-page .claim-actions button{word-break:normal;overflow-wrap:normal;hyphens:none}
.claim-page #claim-slow{font-size:max(12px,1rem)}
#claim-help-dialog{padding-top:52px}
@media(max-width:520px){
 html:lang(zh) .claim-page .claim-hud>div>span,html:lang(zh) .claim-page .claim-progress,html:lang(zh) .claim-page .claim-actions button,html:lang(zh) .claim-page .claim-statusbar>p{font-size:max(12px,1rem)}
 .claim-page .claim-actions .claim-axis button{min-width:0;flex-wrap:wrap}
 .claim-page .claim-actions .claim-axis button span{white-space:nowrap}
 .claim-page #claim-slow{font-size:max(12px,1rem)}
}
@media(max-height:412px){
 html:has(.claim-page){scroll-padding-bottom:180px}
 .claim-page:has(#claim-lobby:not([hidden])) .claim-screen{isolation:auto}
 .claim-page{padding-bottom:180px}
 .claim-page #claim-lobby:not([hidden]){position:fixed;inset:0;z-index:1001;background:transparent;overflow:visible;display:flex;align-items:end;justify-content:center;pointer-events:none;padding:4px}
 .claim-page #claim-lobby .claim-ticket{transform:none;padding:7px 12px;box-shadow:none;pointer-events:auto;width:min(270px,100%)}
 .claim-page #claim-lobby .claim-ticket>img,.claim-page #claim-lobby .claim-ticket>p:not(#claim-start-error),.claim-page #claim-lobby .claim-ticket-foot{display:none}
 .claim-page #claim-lobby .claim-ticket>.claim-eyebrow,.claim-page #claim-lobby .claim-ticket h2{display:none}
 .claim-page #claim-lobby .claim-ticket h2{font-size:clamp(22px,7vw,30px);margin:3px 0 6px;line-height:1.05}
 .claim-page #claim-lobby .claim-text-button{min-height:32px;padding:5px}
 .claim-page #claim-lobby .claim-primary{min-height:44px;padding:5px}
 /* Keep Start in the tab order after Help and theme controls take focus. */
 .claim-page #claim-lobby:not([hidden]){visibility:visible}
}
/* Give each enlarged action label its own width. The cabinet can scroll when
   the controls and a playable tray cannot both fit in a short viewport. */
.claim-page .claim-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.claim-page .claim-actions .claim-axis{grid-column:1/-1;min-width:0}
.claim-page .claim-actions button{min-width:0;white-space:normal;overflow-wrap:anywhere}
.claim-page #claim-stretch{justify-content:center;flex-wrap:wrap}
@media(max-width:800px){
 .claim-page .claim-actions{grid-template-columns:minmax(0,1fr)}
 .claim-page .claim-actions .claim-axis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .claim-page #claim-slow{min-height:48px}
}
@media(max-width:520px){
 .claim-page .claim-actions{display:grid}
 .claim-page .claim-actions .claim-axis{grid-template-columns:minmax(0,1fr)}
 .claim-page .claim-actions .claim-axis button+button{border-left:1px solid #b6c4ac;border-top:0}
}
@media(orientation:landscape) and (max-height:520px){
 .arcade-page.claim-page .claim-cabinet.is-expanded{overflow-y:auto;overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(280px,1fr) auto auto;align-content:start}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;min-height:0}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-axis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen{min-height:280px}
 .arcade-page.claim-page .claim-cabinet.is-expanded #claim-lobby .claim-ticket>p#claim-start-error:not([hidden]){display:block}
 .arcade-page.claim-page .claim-cabinet.is-expanded #claim-lobby .claim-ticket{max-height:100%;overflow:auto}
}
@media(min-width:700px) and (min-height:521px){
 .arcade-page.claim-page .claim-cabinet.is-expanded{overflow-y:auto;grid-template-rows:auto auto auto minmax(402px,1fr) auto auto;align-content:start}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen{min-height:402px}
}
/* Portrait fullscreen can grow taller than the viewport when text is enlarged.
   Keep a playable tray and let the cabinet scroll to its readable controls. */
@media(orientation:portrait) and (max-width:600px){
 .arcade-page.claim-page .claim-cabinet.is-expanded{overflow-y:auto;overscroll-behavior:contain;grid-template-rows:auto auto auto minmax(280px,1fr) auto auto;align-content:start}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen{min-height:280px}
}

/* The short landscape cabinet keeps the tray beside a compact control rail.
   Tracks may grow and the cabinet scrolls when the reader enlarges text. */
@media(orientation:landscape) and (max-height:520px){
 .arcade-page.claim-page .claim-cabinet.is-expanded{grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:minmax(44px,max-content) min-content min-content minmax(min-content,1fr) min-content;overflow-y:auto;align-content:start}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-toolbar{grid-column:1/-1;grid-row:1}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen{grid-column:1;grid-row:2/6;width:100%;height:calc(100dvh - 44px);max-height:calc(100dvh - 44px);min-height:0}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud{grid-column:2;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 8px;gap:4px 6px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress{grid-column:2;grid-row:3;display:grid;grid-template-columns:1fr auto;padding:4px 8px;gap:2px 4px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress>span,.arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress>b{min-width:0;white-space:normal;overflow-wrap:anywhere}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress progress{grid-column:1/-1;grid-row:2;width:100%}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions{grid-column:2;grid-row:4;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(max(40px,1.875rem),auto));padding:4px 8px;gap:3px;min-height:max-content}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-axis{grid-column:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:max(40px,1.875rem)}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-axis button{flex-direction:row;min-height:max(40px,1.875rem)}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions>button{min-height:max(40px,1.875rem)}
 .arcade-page.claim-page .claim-cabinet.is-expanded #claim-stretch{min-height:max(40px,calc(4rem - 24px))}
 .arcade-page.claim-page .claim-cabinet.is-expanded #claim-slow{flex-direction:row;min-height:max(40px,1.875rem)}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar{grid-column:2;grid-row:5;min-height:0;padding:3px 8px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud>div>span,.arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress,.arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions button,.arcade-page.claim-page .claim-cabinet.is-expanded #claim-slow,.arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar>p{font-size:max(12px,.75rem)!important;line-height:1.2}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud>div>span{margin-bottom:2px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud strong{font-size:18px}
}
@media(min-width:700px) and (min-height:521px){
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.9fr)}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-axis{grid-column:auto}
}
@media(min-width:1000px) and (min-height:521px){
 .arcade-page.claim-page .claim-cabinet.is-expanded{grid-template-rows:auto auto auto minmax(502px,1fr) auto auto}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-screen{min-height:502px}
}

/* Claim text follows the reader's root size, including values nested inside
   containers whose own labels were already enlarged. Narrow rails may wrap. */
.claim-page .claim-hud strong{font-size:1.25rem;overflow-wrap:anywhere}
.claim-page .claim-hud .claim-life strong{font-size:1rem;white-space:normal}
.arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud .claim-life strong{font-size:1rem}
.arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud strong{font-size:1.25rem}
.claim-page .claim-hud small,.claim-page .claim-progress>b,
.claim-page .claim-axis button b,.claim-page #claim-stretch>b{font-size:1rem}
.claim-page .claim-progress>span,.claim-page .claim-progress>b{min-width:0;white-space:normal;overflow-wrap:anywhere}
.claim-page .claim-progress progress{min-width:0}
.claim-page .claim-hud,.claim-page .claim-progress,.claim-page .claim-actions,.claim-page .claim-statusbar{min-width:0;max-width:100%;box-sizing:border-box}
.claim-page .claim-statusbar>*{min-width:0;overflow-wrap:anywhere}
.claim-page .claim-key-legend kbd,.claim-page .claim-best>span,
.claim-page .claim-order>.claim-eyebrow,.claim-page .claim-chef-note>.claim-eyebrow,
.claim-page .claim-heading .claim-eyebrow,.claim-page .claim-recipe-grid b,
.claim-page .claim-basil-key,.claim-page .claim-order-line,
.claim-page .claim-brand small{font-size:1rem;line-height:1.45}
.claim-page .claim-order-line{flex-wrap:wrap;gap:4px}
.claim-page .claim-key-legend,.claim-page #claim-connection{font-size:1rem}
.arcade-page.claim-page .claim-heading .claim-eyebrow{font-size:1rem}
.arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud>div>span{font-size:1rem}
html:lang(zh) .claim-page .claim-key-legend,
html:lang(zh) .claim-page .claim-key-legend kbd,
html:lang(zh) .claim-page .claim-order>.claim-eyebrow,
html:lang(zh) .claim-page .claim-chef-note>.claim-eyebrow{font-size:1rem}
html:lang(zh) .claim-page .claim-key-legend kbd{font-size:1rem!important}
@media(orientation:landscape) and (max-height:520px){
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud strong{font-size:1.25rem}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress>b{font-size:1rem}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar{padding-block:0}
}

/* Claim's small-print labels follow the reader's root font size in every state.
   Keep these scoped here so the other arcade scorecards retain their styling. */
.claim-page :is(.claim-eyebrow,.claim-brand small,.claim-ticket p,.claim-ticket-foot,
 .claim-primary,.claim-text-button,.claim-tools>button,.claim-hud>div>span,
 .claim-progress,.claim-progress>b,.claim-actions button,.claim-statusbar>p,
 .claim-recipe-grid b,.claim-recipe-grid p,.claim-key-legend,.claim-key-legend kbd,
 .claim-order-line,.claim-order>p,.claim-best>span,.claim-chef-note>p,
 .claim-basil-key,.claim-local-note){font-size:max(12px,.75rem);line-height:1.45}
.claim-page :is(.claim-hud>div>span,.claim-progress,.claim-actions button,
 .claim-statusbar>p,.claim-key-legend kbd,.claim-basil-key,.claim-order-line,
 .claim-brand small){font-size:.75rem}
.claim-page .claim-ticket{width:min(310px,100%);max-height:100%;overflow:auto;overflow-wrap:anywhere}
.claim-page .claim-ticket-foot{font-size:.75rem}
.claim-page .claim-order-line{letter-spacing:.02em}
.claim-page :is(.claim-recipe-grid,.claim-sidebar,.claim-order,.claim-chef-note,.claim-key-legend){min-width:0;overflow-wrap:anywhere}
.claim-page .claim-recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.claim-page .leaderboard :is(.eyebrow,.board-heading p,.board-tabs button,.board-tabs button span,
 .board-slot-note,.board-columns,.score-rank,.score-meta,.board-footer,.board-footer span,
 .score-player,.score-row,.board-show-more,.board-personal-note){font-size:.75rem;overflow-wrap:anywhere}
.claim-page .leaderboard :is(.board-heading,.board-tabs,.board-columns,.scores,.board-footer){min-width:0}
.arcade-page.claim-page .leaderboard .board-heading .eyebrow,
.claim-page footer a{font-size:.75rem}
.claim-page .leaderboard .empty-board,
.claim-page .leaderboard #claim-refresh{font-size:.75rem}
.claim-page .leaderboard .score-value{font-size:.75rem}
.claim-page .leaderboard .score-country{font-size:1rem}
/* Keep a complete name beside the score when it fits; otherwise give the
   name the whole space after the rank and put the score on the next line. */
.claim-page .leaderboard .scores>.score-row{display:flex;flex-wrap:wrap;align-items:center;position:relative;padding-inline-start:44px;min-height:clamp(48px,calc(1.5rem + 24px),72px)}
.claim-page .leaderboard .score-rank{position:absolute;inset-inline-start:0;top:2px}
.claim-page .leaderboard .score-name{flex:1 1 auto;min-width:min(100%,max-content);overflow-wrap:normal;word-break:normal}
.claim-page .leaderboard .score-country{position:absolute;inset-inline-start:10px;bottom:2px}
.claim-page .leaderboard .score-player,
html:lang(zh) .claim-page .leaderboard .score-player{line-height:1.25;overflow-wrap:break-word}
.claim-page .leaderboard .score-value{flex:0 0 auto;margin-inline-start:auto}
html:lang(zh) .claim-page .leaderboard :is(.eyebrow,.board-tabs button,.board-tabs button span,.board-columns span,.empty-board){font-size:.75rem!important}
html:lang(zh) .claim-page .leaderboard .score-value{font-size:.75rem!important}
#claim-help-dialog :is(.claim-eyebrow,figcaption,th,td,summary){font-size:.75rem;overflow-wrap:anywhere}
#claim-help-dialog :is(p,li){font-size:1rem;overflow-wrap:anywhere}
html:lang(zh) #claim-help-dialog :is(p,li){font-size:1.125rem}
#claim-help-dialog :is(table,.claim-help-table-wrap){max-width:100%;overflow-x:auto}
@media(max-width:520px){
 .claim-page .claim-recipe-grid{grid-template-columns:1fr}
 .claim-page .claim-sidebar{grid-template-columns:1fr}
 .claim-page .claim-ticket{width:min(270px,100%)}
}
.arcade-page.claim-page .claim-heading>p,
.arcade-page.claim-page .claim-heading>p strong,
.claim-page .claim-beta-notice,.claim-page .claim-beta-notice :is(a,strong),
.claim-page .claim-order>.claim-local-note,
.claim-page .claim-ticket .claim-primary,.claim-page .claim-ticket .claim-text-button,
.claim-page .claim-brand small{font-size:.75rem!important;overflow-wrap:anywhere}
.claim-page .claim-brand small{max-width:none}
.claim-page .claim-ticket p{font-size:.75rem!important}
.claim-page #claim-basil-label{font-size:.75rem}
html:lang(zh) .claim-page :is(.claim-recipe-grid p,.claim-order>p,.claim-chef-note>p){font-size:1rem!important}
html:lang(zh) .claim-page .claim-recipe-grid b{font-size:.75rem!important}
.claim-page .claim-tools button span{font-size:.75rem}
html:lang(zh) #claim-help-dialog :is(p,li,td,th,summary,figcaption){font-size:1.125rem!important}
html:lang(zh) .claim-page .claim-ticket-foot{font-size:.75rem!important}
.claim-page .claim-eyebrow{font-size:.75rem!important}
.claim-page .claim-cabinet.is-expanded .claim-toolbar{position:relative;z-index:3}
@media(orientation:landscape) and (max-height:520px){
 .claim-page .claim-cabinet.is-expanded .claim-tools>button,
 .claim-page .claim-cabinet.is-expanded .claim-axis,
 .claim-page .claim-cabinet.is-expanded .claim-axis button{min-height:44px!important}
 .claim-page .claim-cabinet.is-expanded .claim-actions{gap:1px!important}
}
#claim-help-dialog .claim-primary{font-size:.75rem!important}
#claim-help-dialog h3{font-size:1.5rem}
.claim-page #claim-controls-title{font-size:1.5rem}

/* Keep previously readable sizes while raising only smaller labels to 12px. */
.claim-page :is(.claim-eyebrow,.claim-ticket p,.claim-ticket-foot,
 .claim-primary,.claim-text-button,.claim-tools>button,.claim-hud>div>span,
 .claim-progress,.claim-progress>b,.claim-actions button,.claim-statusbar>p,
 .claim-recipe-grid b,.claim-recipe-grid p,.claim-key-legend,.claim-key-legend kbd,
 .claim-order-line,.claim-order>p,.claim-best>span,.claim-chef-note>p,
 .claim-basil-key,.claim-local-note,.claim-brand small,.claim-tools button span,
 #claim-basil-label){font-size:max(12px,1rem)!important}
.claim-page .claim-beta-notice,.claim-page .claim-beta-notice :is(a,strong){font-size:max(12px,.8125rem)!important}
.claim-page .claim-order>.claim-local-note{font-size:max(12px,.875rem)!important}
.claim-page .leaderboard #claim-refresh{font-size:max(12px,1.3125rem)}
.claim-page .leaderboard :is(.board-more,.score-value){font-size:max(12px,1rem)}
#claim-help-dialog :is(th,td,figcaption,summary){font-size:max(12px,1rem)!important}
html:lang(zh) .arcade-page.claim-page .claim-heading>p,
html:lang(zh) .arcade-page.claim-page .claim-heading>p strong{font-size:max(12px,1.125rem)!important}
html:lang(zh) .claim-page .leaderboard .score-value{font-size:max(12px,1rem)!important}
html:lang(zh) #claim-help-dialog :is(th,td,figcaption,summary){font-size:1.125rem!important}
@media(max-width:800px){.claim-page .claim-toolbar,.claim-page .claim-tools{flex-wrap:wrap}}
@media(max-height:500px){.claim-page #claim-lobby:not([hidden]) .claim-ticket{max-height:45dvh;overflow:auto}}
.claim-page .claim-ticket-foot{white-space:normal;overflow-wrap:anywhere}
@media(max-width:520px){.claim-page .claim-ticket{transform:none}}
.claim-page .claim-ticket{box-sizing:border-box}
html:lang(zh) .claim-page .claim-beta-notice,
html:lang(zh) .claim-page .claim-beta-notice :is(a,strong){font-size:max(12px,.875rem)!important}
html:lang(zh) .claim-page #claim-controls-title{font-size:1.75rem}
html:lang(zh) .claim-page .leaderboard :is(.eyebrow,.board-slot-note,.board-columns span,.score-rank>span,.board-tabs button span){font-size:max(12px,.875rem)!important}
html:lang(zh) .claim-page .leaderboard :is(.board-tabs button,.score-player){font-size:max(12px,1rem)!important}
html:lang(zh) .arcade-page.claim-page .leaderboard .board-tabs button{font-size:max(12px,1rem)!important}
html:lang(zh) .claim-page .leaderboard .board-footer span{font-size:max(12px,.875rem)!important}
html:lang(zh) .arcade-page.claim-page .leaderboard .board-more{font-size:max(12px,1rem)!important}
@media(orientation:landscape) and (max-height:520px){
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 4px;gap:2px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-hud>div>span{line-height:1.1;margin-bottom:0;letter-spacing:0}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-progress{padding:0 4px;line-height:1.1}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar{padding:0 4px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-statusbar>p{line-height:1.1}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(44px,max-content));gap:2px}
 .arcade-page.claim-page .claim-cabinet.is-expanded .claim-axis{grid-column:1/-1;min-height:44px}
 .arcade-page.claim-page .claim-cabinet.is-expanded :is(.claim-axis button,#claim-stretch,#claim-slow){min-height:44px!important;padding:2px!important}
}
