/* GENERATED by tools/build.mjs from shared/data.js — do not edit.
   Stepped-band placeholders ([data-bands]) and per-world colours ([data-game]): CSS, not inline styles, so pages stay strict-CSP clean. */
[data-bands="phantom-dawn"]{--bands:linear-gradient(180deg,#0a263b 0.00% 16.67%,#0d2a41 16.67% 33.33%,#133952 33.33% 50.00%,#2a586b 50.00% 66.67%,#152b3b 66.67% 83.33%,#112737 83.33% 100.00%);--focus:72%}
[data-bands="treadriot"]{--bands:linear-gradient(180deg,#3b2821 0.00% 16.67%,#573424 16.67% 33.33%,#714125 33.33% 50.00%,#4c3424 50.00% 66.67%,#482d1d 66.67% 83.33%,#362318 83.33% 100.00%);--focus:70%}
[data-bands="the-codex"]{--bands:linear-gradient(180deg,#453458 0.00% 16.67%,#4a395a 16.67% 33.33%,#6f5c6e 33.33% 50.00%,#514057 50.00% 66.67%,#3b2d4b 66.67% 83.33%,#332747 83.33% 100.00%);--focus:74%}
[data-bands="the-long-siege"]{--bands:linear-gradient(180deg,#7a7384 0.00% 16.67%,#b4918b 16.67% 33.33%,#5b6881 33.33% 50.00%,#3d4558 50.00% 66.67%,#343c4e 66.67% 83.33%,#384356 83.33% 100.00%);--focus:60%}
[data-bands="overline"]{--bands:linear-gradient(180deg,#381733 0.00% 16.67%,#50243f 16.67% 33.33%,#4d1e3b 33.33% 50.00%,#3d1a34 50.00% 66.67%,#3c1b34 66.67% 83.33%,#351731 83.33% 100.00%);--focus:66%}
[data-bands="chernobyl-containment"]{--bands:linear-gradient(180deg,#152621 0.00% 16.67%,#1b2e2a 16.67% 33.33%,#283b2e 33.33% 50.00%,#39452c 50.00% 66.67%,#2e3723 66.67% 83.33%,#1a251c 83.33% 100.00%);--focus:62%}
[data-bands="aethelgards-hearth"]{--bands:linear-gradient(180deg,#f7d3a1 0.00% 16.67%,#f0b77d 16.67% 33.33%,#c59c77 33.33% 50.00%,#a4b1a9 50.00% 66.67%,#859996 66.67% 83.33%,#304e55 83.33% 100.00%);--focus:60%}
[data-bands="wick"]{--bands:linear-gradient(180deg,#38454a 0.00% 16.67%,#2a3f4a 16.67% 33.33%,#225559 33.33% 50.00%,#0e4d51 50.00% 66.67%,#083c43 66.67% 83.33%,#062c34 83.33% 100.00%);--focus:62%}
[data-bands="haven-nine"]{--bands:linear-gradient(180deg,#8e9eae 0.00% 16.67%,#758a9e 16.67% 33.33%,#63788d 33.33% 50.00%,#526a80 50.00% 66.67%,#4d6277 66.67% 83.33%,#405970 83.33% 100.00%);--focus:64%}
[data-bands="quieter-life"]{--bands:linear-gradient(180deg,#788c7a 0.00% 16.67%,#798671 16.67% 33.33%,#70755b 33.33% 50.00%,#62674c 50.00% 66.67%,#566552 66.67% 83.33%,#405042 83.33% 100.00%);--focus:66%}
[data-bands="baseline-buddies"]{--bands:linear-gradient(180deg,#abc3b4 0.00% 16.67%,#88a391 16.67% 33.33%,#5f7b68 33.33% 50.00%,#506452 50.00% 66.67%,#747e69 66.67% 83.33%,#546759 83.33% 100.00%);--focus:64%}
[data-bands="last-hunt"]{--bands:linear-gradient(180deg,#1c4c46 0.00% 16.67%,#326b5b 16.67% 33.33%,#2e6357 33.33% 50.00%,#173e42 50.00% 66.67%,#193a42 66.67% 83.33%,#142d35 83.33% 100.00%);--focus:62%}
[data-bands="night-cargo"]{--bands:linear-gradient(180deg,#2e293f 0.00% 16.67%,#3d2e37 16.67% 33.33%,#543326 33.33% 50.00%,#4d302b 50.00% 66.67%,#372425 66.67% 83.33%,#2b1a1e 83.33% 100.00%);--focus:70%}
[data-bands="iron-ricochet"]{--bands:linear-gradient(180deg,#bc6545 0.00% 16.67%,#b86331 16.67% 33.33%,#bd6831 33.33% 50.00%,#b66c35 50.00% 66.67%,#764534 66.67% 83.33%,#4c2f27 83.33% 100.00%);--focus:74%}
[data-bands="containment-sweep"]{--bands:linear-gradient(180deg,#d19466 0.00% 16.67%,#d49655 16.67% 33.33%,#a56d40 33.33% 50.00%,#986129 50.00% 66.67%,#92601d 66.67% 83.33%,#865b27 83.33% 100.00%);--focus:78%}
[data-bands="libation"]{--bands:linear-gradient(180deg,#958097 0.00% 16.67%,#c98770 16.67% 33.33%,#bc7e59 33.33% 50.00%,#846565 50.00% 66.67%,#ae8a7b 66.67% 83.33%,#936150 83.33% 100.00%);--focus:70%}
[data-bands="tow-line"]{--bands:linear-gradient(180deg,#b47079 0.00% 16.67%,#bb735a 16.67% 33.33%,#9d655b 33.33% 50.00%,#966764 50.00% 66.67%,#736373 66.67% 83.33%,#4e526e 83.33% 100.00%);--focus:76%}
[data-bands="dawn-relay"]{--bands:linear-gradient(180deg,#1c3143 0.00% 16.67%,#1f3344 16.67% 33.33%,#293d4c 33.33% 50.00%,#324551 50.00% 66.67%,#354c59 66.67% 83.33%,#334d5b 83.33% 100.00%);--focus:78%}
[data-bands="golden-rondo"]{--bands:linear-gradient(180deg,#a8857c 0.00% 16.67%,#cd9675 16.67% 33.33%,#9b7c67 33.33% 50.00%,#7d7a6a 50.00% 66.67%,#667e77 66.67% 83.33%,#4c666b 83.33% 100.00%);--focus:72%}
[data-bands="hearth-bloom"]{--bands:linear-gradient(180deg,#91877a 0.00% 16.67%,#bca077 16.67% 33.33%,#b1925e 33.33% 50.00%,#9c7e38 50.00% 66.67%,#866224 66.67% 83.33%,#86652f 83.33% 100.00%);--focus:74%}
[data-bands="mythic-numbers"]{--bands:linear-gradient(180deg,#424257 0.00% 16.67%,#424060 16.67% 33.33%,#67465f 33.33% 50.00%,#5b425c 50.00% 66.67%,#50536b 66.67% 83.33%,#6c665d 83.33% 100.00%);--focus:74%}
[data-bands="close-call"]{--bands:linear-gradient(180deg,#9db5cd 0.00% 16.67%,#d2b593 16.67% 33.33%,#9f826e 33.33% 50.00%,#82744e 50.00% 66.67%,#8e7155 66.67% 83.33%,#94755e 83.33% 100.00%);--focus:72%}
[data-bands="hedgehop"]{--bands:linear-gradient(180deg,#93a6c3 0.00% 16.67%,#baa676 16.67% 33.33%,#a48c4e 33.33% 50.00%,#ac9049 50.00% 66.67%,#937f4a 66.67% 83.33%,#7e7b4f 83.33% 100.00%);--focus:72%}
[data-bands="nova-patrol"]{--bands:linear-gradient(180deg,#502c3e 0.00% 16.67%,#552c3b 16.67% 33.33%,#38243f 33.33% 50.00%,#5a3743 50.00% 66.67%,#583540 66.67% 83.33%,#2f203f 83.33% 100.00%);--focus:72%}
[data-bands="night-watch"]{--bands:linear-gradient(180deg,#0c232d 0.00% 12.50%,#153441 12.50% 25.00%,#1e4a5c 25.00% 37.50%,#2e5668 37.50% 50.00%,#224051 50.00% 62.50%,#15323e 62.50% 75.00%,#092029 75.00% 87.50%,#06181f 87.50% 100.00%)}
[data-bands="studio-cabin"]{--bands:linear-gradient(180deg,#17292e 0.00% 12.50%,#2b4243 12.50% 25.00%,#6a6448 25.00% 37.50%,#c0853f 37.50% 50.00%,#ecb25d 50.00% 62.50%,#3b5452 62.50% 75.00%,#26383a 75.00% 87.50%,#20363a 87.50% 100.00%)}
[data-bands="hero-lookout"]{--bands:linear-gradient(180deg,#041a24 0.00% 12.50%,#092530 12.50% 25.00%,#0e323f 25.00% 37.50%,#184250 37.50% 50.00%,#1e4a58 50.00% 62.50%,#0e3240 62.50% 75.00%,#0e313e 75.00% 87.50%,#051b25 87.50% 100.00%)}
[data-bands="studio-ridge"]{--bands:linear-gradient(180deg,#4e564b 0.00% 12.50%,#ad7d45 12.50% 25.00%,#e0a359 25.00% 37.50%,#9c7957 37.50% 50.00%,#394c4d 50.00% 62.50%,#193139 62.50% 75.00%,#122a32 75.00% 87.50%,#10272f 87.50% 100.00%)}
[data-bands="atlas"]{--bands:linear-gradient(180deg,#17313a 0.00% 12.50%,#25343b 12.50% 25.00%,#283b3f 25.00% 37.50%,#2a3f49 37.50% 50.00%,#213843 50.00% 62.50%,#142c33 62.50% 75.00%,#172d35 75.00% 87.50%,#0f262e 87.50% 100.00%)}
[data-bands="lookout"]{--bands:linear-gradient(180deg,#ec794e 0.00% 12.50%,#f5a66c 12.50% 25.00%,#f2c38a 25.00% 37.50%,#bd9787 37.50% 50.00%,#59606a 50.00% 62.50%,#314852 62.50% 75.00%,#18323e 75.00% 87.50%,#122933 87.50% 100.00%)}
[data-bands="night-shift"]{--bands:linear-gradient(180deg,#0f2331 0.00% 12.50%,#132c3c 12.50% 25.00%,#193b4d 25.00% 37.50%,#255062 37.50% 50.00%,#173b4e 50.00% 62.50%,#122e3d 62.50% 75.00%,#0c232e 75.00% 87.50%,#081a23 87.50% 100.00%)}
[data-game="phantom-dawn"]{--focus:72%;--g-accent:#5fe3e0;--g-1:#0a263b;--g-2:#0d2a41;--g-3:#133952;--g-4:#2a586b;--g-5:#152b3b;--g-6:#112737;--g-card:#112737}
[data-game="treadriot"]{--focus:70%;--g-accent:#f2a33a;--g-1:#3b2821;--g-2:#573424;--g-3:#714125;--g-4:#4c3424;--g-5:#482d1d;--g-6:#362318;--g-card:#362318}
[data-game="the-codex"]{--focus:74%;--g-accent:#e9b84a;--g-1:#453458;--g-2:#4a395a;--g-3:#6f5c6e;--g-4:#514057;--g-5:#3b2d4b;--g-6:#332747;--g-card:#332747}
[data-game="the-long-siege"]{--focus:60%;--g-accent:#b23a2e;--g-1:#7a7384;--g-2:#b4918b;--g-3:#5b6881;--g-4:#3d4558;--g-5:#343c4e;--g-6:#384356;--g-card:#384356}
[data-game="overline"]{--focus:66%;--g-accent:#b2517a;--g-1:#381733;--g-2:#50243f;--g-3:#4d1e3b;--g-4:#3d1a34;--g-5:#3c1b34;--g-6:#351731;--g-card:#351731}
[data-game="chernobyl-containment"]{--focus:62%;--g-accent:#e7b43a;--g-1:#152621;--g-2:#1b2e2a;--g-3:#283b2e;--g-4:#39452c;--g-5:#2e3723;--g-6:#1a251c;--g-card:#1a251c}
[data-game="aethelgards-hearth"]{--focus:60%;--g-accent:#8db36a;--g-1:#f7d3a1;--g-2:#f0b77d;--g-3:#c59c77;--g-4:#a4b1a9;--g-5:#859996;--g-6:#304e55;--g-card:#304e55}
[data-game="wick"]{--focus:62%;--g-accent:#f2a33a;--g-1:#38454a;--g-2:#2a3f4a;--g-3:#225559;--g-4:#0e4d51;--g-5:#083c43;--g-6:#062c34;--g-card:#062c34}
[data-game="haven-nine"]{--focus:64%;--g-accent:#5fa8d3;--g-1:#8e9eae;--g-2:#758a9e;--g-3:#63788d;--g-4:#526a80;--g-5:#4d6277;--g-6:#405970;--g-card:#405970}
[data-game="quieter-life"]{--focus:66%;--g-accent:#8db36a;--g-1:#788c7a;--g-2:#798671;--g-3:#70755b;--g-4:#62674c;--g-5:#566552;--g-6:#405042;--g-card:#405042}
[data-game="baseline-buddies"]{--focus:64%;--g-accent:#c9d94a;--g-1:#abc3b4;--g-2:#88a391;--g-3:#5f7b68;--g-4:#506452;--g-5:#747e69;--g-6:#546759;--g-card:#4f6255}
[data-game="last-hunt"]{--focus:62%;--g-accent:#5fe3e0;--g-1:#1c4c46;--g-2:#326b5b;--g-3:#2e6357;--g-4:#173e42;--g-5:#193a42;--g-6:#142d35;--g-card:#142d35}
[data-game="night-cargo"]{--focus:70%;--g-accent:#ffb45e;--g-1:#2e293f;--g-2:#3d2e37;--g-3:#543326;--g-4:#4d302b;--g-5:#372425;--g-6:#2b1a1e;--g-card:#2b1a1e}
[data-game="iron-ricochet"]{--focus:74%;--g-accent:#f2a33a;--g-1:#bc6545;--g-2:#b86331;--g-3:#bd6831;--g-4:#b66c35;--g-5:#764534;--g-6:#4c2f27;--g-card:#4c2f27}
[data-game="containment-sweep"]{--focus:78%;--g-accent:#e4ac4f;--g-1:#d19466;--g-2:#d49655;--g-3:#a56d40;--g-4:#986129;--g-5:#92601d;--g-6:#865b27;--g-card:#7e5726}
[data-game="libation"]{--focus:70%;--g-accent:#ffc740;--g-1:#958097;--g-2:#c98770;--g-3:#bc7e59;--g-4:#846565;--g-5:#ae8a7b;--g-6:#936150;--g-card:#7b5347}
[data-game="tow-line"]{--focus:76%;--g-accent:#5fa8d3;--g-1:#b47079;--g-2:#bb735a;--g-3:#9d655b;--g-4:#966764;--g-5:#736373;--g-6:#4e526e;--g-card:#4e526e}
[data-game="dawn-relay"]{--focus:78%;--g-accent:#f09a6b;--g-1:#1c3143;--g-2:#1f3344;--g-3:#293d4c;--g-4:#324551;--g-5:#354c59;--g-6:#334d5b;--g-card:#334d5b}
[data-game="golden-rondo"]{--focus:72%;--g-accent:#dfe655;--g-1:#a8857c;--g-2:#cd9675;--g-3:#9b7c67;--g-4:#7d7a6a;--g-5:#667e77;--g-6:#4c666b;--g-card:#486166}
[data-game="hearth-bloom"]{--focus:74%;--g-accent:#f2a33a;--g-1:#91877a;--g-2:#bca077;--g-3:#b1925e;--g-4:#9c7e38;--g-5:#866224;--g-6:#86652f;--g-card:#775b2d}
[data-game="mythic-numbers"]{--focus:74%;--g-accent:#ffc247;--g-1:#424257;--g-2:#424060;--g-3:#67465f;--g-4:#5b425c;--g-5:#50536b;--g-6:#6c665d;--g-card:#605c55}
[data-game="close-call"]{--focus:72%;--g-accent:#ff8a3d;--g-1:#9db5cd;--g-2:#d2b593;--g-3:#9f826e;--g-4:#82744e;--g-5:#8e7155;--g-6:#94755e;--g-card:#6d5a4b}
[data-game="hedgehop"]{--focus:72%;--g-accent:#f2a33a;--g-1:#93a6c3;--g-2:#baa676;--g-3:#a48c4e;--g-4:#ac9049;--g-5:#937f4a;--g-6:#7e7b4f;--g-card:#5e5f40}
[data-game="nova-patrol"]{--focus:72%;--g-accent:#ff8a3d;--g-1:#502c3e;--g-2:#552c3b;--g-3:#38243f;--g-4:#5a3743;--g-5:#583540;--g-6:#2f203f;--g-card:#2f203f}
