/* Difficulty is a room treatment. Shelf materials and item art stay unchanged. */
body[data-difficulty="hard"],.game[data-difficulty="hard"]{
 --difficulty-top:#efd8b1;--difficulty-bottom:#d9b98a;
 --difficulty-ink:#60432b;--difficulty-muted:#624327;
 --difficulty-badge:#f5d79e;--difficulty-badge-ink:#54391d;--difficulty-edge:#b58a48;
 --difficulty-pattern:#86613b24;
}
body[data-difficulty="very-hard"],.game[data-difficulty="very-hard"]{
 --difficulty-top:#67414a;--difficulty-bottom:#35242c;
 --difficulty-ink:#fff0df;--difficulty-muted:#ead4c7;
 --difficulty-badge:#8b455b;--difficulty-badge-ink:#fff5e9;--difficulty-edge:#d799aa;
 --difficulty-pattern:#f2d9c52b;
}
body[data-difficulty="extreme"],.game[data-difficulty="extreme"]{
 --difficulty-top:#19191e;--difficulty-bottom:#08090c;
 --difficulty-ink:#fff4df;--difficulty-muted:#ded4c4;
 --difficulty-badge:#16171c;--difficulty-badge-ink:#ffe7b2;--difficulty-edge:#c4ad80;
 --difficulty-pattern:#f3e4c826;
}
body:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"]){
 background:linear-gradient(155deg,var(--difficulty-top),var(--difficulty-bottom));
}
.game:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"]){
 color:var(--difficulty-ink);
 background:linear-gradient(155deg,var(--difficulty-top),var(--difficulty-bottom));
}
/* Keep owned patterns while the room color continues to communicate difficulty. */
.game:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"])[data-background="garden"]{
 background:radial-gradient(circle at 4px 4px,var(--difficulty-pattern) 1.5px,transparent 2px) 0 0/18px 18px,
 linear-gradient(155deg,var(--difficulty-top),var(--difficulty-bottom));
}
.game:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"])[data-background="starlight"]{
 background:radial-gradient(circle at 7px 8px,var(--difficulty-pattern) 1px,transparent 2px) 0 0/27px 29px,
 radial-gradient(circle at 12px 16px,var(--difficulty-pattern) 1px,transparent 2px) 9px 13px/42px 47px,
 linear-gradient(155deg,var(--difficulty-top),var(--difficulty-bottom));
}
.game[data-difficulty] .hud .run-info{
 grid-column:1;grid-row:1;display:inline-flex;align-items:center;gap:5px;
 min-width:0;white-space:nowrap;height:14px;
}
.game[data-difficulty] .hud .run-info #moves{flex:none}
.game[data-difficulty] #difficulty-badge{
 display:inline-flex;align-items:center;justify-content:center;flex:none;
 height:14px;padding:0 4px;border:1px solid var(--difficulty-edge,#a2b28c);border-radius:4px;
 background:var(--difficulty-badge,#e9efdf);color:var(--difficulty-badge-ink,#3d5634);
 font-size:9px;font-weight:800;line-height:12px;letter-spacing:.15px;white-space:nowrap;
}
.game:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"]) .hud .stage,
.game:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"]) .hud .campaign #progress{
 color:var(--difficulty-ink);
}
.game:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"]) .hud #moves,
.game:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"]) .hud #combo,
.game:is([data-difficulty="hard"],[data-difficulty="very-hard"],[data-difficulty="extreme"]) .hud #hint-note:not([hidden]){
 color:var(--difficulty-muted);
}
@media(max-height:430px){
 .game[data-difficulty] .hud .run-info{height:12px;gap:4px}
 .game[data-difficulty] #difficulty-badge{height:12px;font-size:8px;line-height:10px;padding:0 3px}
}
.rock-stock{position:absolute;z-index:3;inset:0;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.rock-stock .rock-art{width:100%;height:calc(100% - 3px);max-height:74px;filter:drop-shadow(1px 2px 1px #0004)}
.scene.monochrome .front-stock>svg,body[data-monochrome="true"] .drag-ghost>svg{filter:var(--color-loss-filter,grayscale(1)) drop-shadow(1px 2px 1px #0003)}
.hud #monochrome-note{grid-column:2;grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:10px;line-height:14px;color:var(--difficulty-muted,#80622d);font-weight:700}
.hud .campaign:has(#monochrome-note:not([hidden])) #combo,.hud .campaign:has(#monochrome-note:not([hidden])) #hint-note{visibility:hidden}
@media(max-height:430px){.hud #monochrome-note{font-size:9px;line-height:12px}}
.artwork-loading{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center;background:#fff8e8ed;color:#5d472f;font-size:14px}
.artwork-loading button{min-height:44px;padding:8px 16px;border:1px solid #c5ac82;border-radius:10px;background:#fffaf1;color:#58452f}
.game[data-difficulty="extreme"] .artwork-loading,.game[data-difficulty="very-hard"] .artwork-loading{background:#17171eef;color:#fff0da}
.game>.aid-toolbar.aid-footer.four-aids{grid-template-columns:repeat(4,minmax(48px,70px));gap:10px}
@media(orientation:landscape) and (max-height:480px){.game>.aid-toolbar.aid-footer.four-aids{grid-template-columns:54px;grid-template-rows:repeat(4,54px);gap:10px}}
