/* The jungle keeps its existing appearance; other worlds share its layout. */
body[data-world="uni"] {
  --ink: #f5f3ff; --muted: #c1bedb; --jungle-950: #101020; --jungle-900: #1c1b36;
  --jungle-800: #292744; --leaf: #c7bdff; --leaf-strong: #a48aef;
  --glass: rgba(21, 20, 43, .94); --line: rgba(200, 186, 255, .25);
  --world-button: #6650a4; --world-button-end: #4c397e; --world-table: #23213c; --world-table-alt: #2a2845;
}
body[data-world="mord"] {
  --ink: #fff3f2; --muted: #d1b7bd; --jungle-950: #17090e; --jungle-900: #241017;
  --jungle-800: #391923; --leaf: #ff969f; --leaf-strong: #ed6978;
  --glass: rgba(29, 11, 18, .94); --line: rgba(255, 143, 157, .26);
  --world-button: #ad3047; --world-button-end: #792335; --world-table: #30151e; --world-table-alt: #391b25;
}
body:is([data-world="uni"], [data-world="mord"]) .lianen-container { display: none; }
body:is([data-world="uni"], [data-world="mord"])::before { background: linear-gradient(180deg, transparent, var(--jungle-950)); }
body[data-world="uni"] .jungle-bg {
  background: linear-gradient(90deg, #bca9ff0b 1px, transparent 1px), linear-gradient(#bca9ff0b 1px, transparent 1px), radial-gradient(ellipse at 80% 0, #4d3c73, #101020 65%);
  background-size: 36px 36px, 36px 36px, cover;
}
body[data-world="mord"] .jungle-bg { background: radial-gradient(ellipse at 100% 0, #67213370, transparent 60%), repeating-linear-gradient(125deg, #ff969f04 0 1px, transparent 1px 22px), #10070b; }
body:is([data-world="uni"], [data-world="mord"]) :is(.panel, .phase-card, #gamePhase, #resultsPhase) { background: linear-gradient(145deg, var(--jungle-900), var(--glass)); }
body:is([data-world="uni"], [data-world="mord"]) :is(.room-bar, .status-message, .round-monitor > strong, .round-monitor .timer, .round-monitor .reroll-button) { background: var(--glass); }
body:is([data-world="uni"], [data-world="mord"]) button:not(.secondary-button, .remove-btn, .reroll-button, .answer-review, .room-world-card, [data-preset]) { background: linear-gradient(135deg, var(--world-button), var(--world-button-end)); }
body:is([data-world="uni"], [data-world="mord"]) .start-button { box-shadow: 0 10px 30px #0004; }
body:is([data-world="uni"], [data-world="mord"]) .player-display { border-color: var(--line); }
body:is([data-world="uni"], [data-world="mord"]) .player-role { background: var(--jungle-800); }
body:is([data-world="uni"], [data-world="mord"]) .count-badge,
body:is([data-world="uni"], [data-world="mord"]) .preset-buttons button.active { background: var(--jungle-800); }
body:is([data-world="uni"], [data-world="mord"]) .host-hint { color: var(--muted); }
body:is([data-world="uni"], [data-world="mord"]) #nextRoundHint { color: var(--muted); opacity: .65; }
body:is([data-world="uni"], [data-world="mord"]) .timer-option input:checked + .timer-switch { background: var(--world-button); }
body:is([data-world="uni"], [data-world="mord"]) input:focus { box-shadow: 0 0 0 3px var(--line); }
body:is([data-world="uni"], [data-world="mord"]) #currentLetter { background: radial-gradient(circle, var(--jungle-800), var(--jungle-950)); text-shadow: 0 0 28px var(--line); }
body:is([data-world="uni"], [data-world="mord"]) .results-clean :is(th, td):first-child { background: var(--world-table); }
body:is([data-world="uni"], [data-world="mord"]) .results-clean tbody tr:nth-child(even) td:first-child { background: var(--world-table-alt); }
.room-world { margin: 0 0 .8rem; color: var(--leaf); font-size: .8rem; font-weight: 700; letter-spacing: .05em; }
.world-setting { display: grid; gap: .65rem; margin: 1rem 0 1.4rem; text-align: left; }
.world-setting h3 { margin: 0; font-size: .95rem; }
.world-setting p { margin: 0; color: var(--muted); font-size: .78rem; }
.room-world-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.room-world-card { --world-accent: #b3f3ad; position: relative; min-width: 0; padding: 0 0 .55rem; overflow: hidden; border: 1px solid #ffffff30; border-radius: 14px; background: #112a1b; color: #f4f5ed; box-shadow: none; }
.room-world-card.world-uni { --world-accent: #d1c8ff; background: #24243f; }
.room-world-card.world-mord { --world-accent: #ffa0a8; background: #30151e; }
.room-world-card[aria-pressed="true"] { border-color: var(--world-accent); box-shadow: 0 0 0 1px var(--world-accent); color: var(--world-accent); }
.room-world-card:disabled { opacity: .72; }
.room-world-card:disabled[aria-pressed="true"] { opacity: 1; }
.room-world-art { display: grid; place-items: center; height: 100px; margin-bottom: .3rem; background: linear-gradient(0deg, #112a1b, #112a1b00), url("img/jungle-bg.jpg") center / cover; }
.world-uni .room-world-art { background: linear-gradient(#c9baff0d 1px, transparent 1px), linear-gradient(90deg, #c9baff0d 1px, transparent 1px), radial-gradient(ellipse at 50% 20%, #65508c, #24243f); background-size: 24px 24px, 24px 24px, cover; }
.world-mord .room-world-art { background: radial-gradient(ellipse at 50% 20%, #8b3149, transparent), repeating-linear-gradient(125deg, #ffa0a80b 0 1px, transparent 1px 18px), #30151e; }
.room-world-art img { width: 100%; height: 100px; object-fit: contain; filter: drop-shadow(0 5px 8px #0006); }
.room-world-card strong { display: block; padding-inline: .15rem; font-size: 1rem; line-height: 1.2; overflow-wrap: anywhere; }
.room-world-check { display: none; position: absolute; top: .4rem; right: .4rem; width: 20px; height: 20px; border-radius: 50%; background: var(--world-accent); color: #171a18; font-size: .8rem; line-height: 20px; }
.room-world-card[aria-pressed="true"] .room-world-check { display: block; }
.reward-piggybank, .reward-halloween-pumpkin { width: 1.65rem; height: 1.65rem; }
.currency-candy .currency-icon { width: 1.55em; }
@media (max-width: 480px) {
  .room-world-choices { gap: .45rem; }
  .room-world-art, .room-world-art img { height: 76px; }
  .room-world-card { border-radius: 11px; }
  .room-world-card strong { font-size: .85rem; }
}
.more-presets { margin: 0 0 1.2rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; }
.more-presets summary { min-height: 44px; padding: .7rem .2rem; color: var(--muted); font-size: .85rem; cursor: pointer; }
.more-presets .preset-buttons { margin: .4rem 0 .9rem; }
@media (prefers-reduced-motion: reduce) { .liane, #currentLetter, .timer.urgent { animation: none; } }
