.upgrade-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(460px,100%);margin-top:20px}
.upgrade-options[hidden]{display:none}
.message .upgrade-option{display:flex;min-height:112px;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0;padding:10px 6px;border:1px solid #d9c2ae;border-radius:10px;background:#fffaf0;color:#48573e;box-shadow:0 3px 0 #c8b19e;font:600 11px/1.25 'DM Sans',sans-serif}
.message .upgrade-option:hover{background:#e6efda;transform:translateY(-2px)}
.upgrade-option .upgrade-icon{font-size:28px;line-height:1}.upgrade-option small{font-size:9px;font-weight:500;color:#77756e}

.hud{background:linear-gradient(#fffdf5cc,#fffdf500);padding:10px 12px}
.hud-pill{display:inline-block;width:fit-content;max-width:100%;padding:4px 9px;border:1px solid #eadfd0;border-radius:99px;background:#fffaf0ea;color:#4d5946;line-height:1.2;box-shadow:0 1px 0 #fff}
.hud-timer{justify-self:center}
.hud-health{justify-self:end;color:#a95768;letter-spacing:1px}
.hud span:nth-child(3){text-align:right}
.xp-label{background:#fffaf0ea;border-color:#e3c4c8}
.hud-hurt{transform:scale(1.08);filter:brightness(1.15)}

.shell-tools{position:absolute;z-index:3;top:auto;bottom:46px;left:10px;right:auto;display:flex;flex-direction:column;gap:6px}
.icon-btn{width:32px;height:32px;border:1px solid #eadfd0;border-radius:8px;background:#fffaf0ea;color:#536744;font-size:13px;cursor:pointer;box-shadow:0 2px 0 #d9cfc4}
.icon-btn:active{transform:translateY(2px);box-shadow:0 0 0 #d9cfc4}
.icon-btn[aria-pressed="true"]{background:#efe4d8;color:#8a7b70}

.newds-btn{position:absolute;z-index:3;right:10px;bottom:44px;overflow:hidden;border:1px solid #c98996;border-radius:10px;background:#fff4f0ee;color:#7a3d4d;padding:9px 12px 8px;font:700 11px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 3px 0 #c98996;min-width:148px;text-align:left}
.newds-btn[hidden]{display:none}
.newds-btn:disabled{cursor:default;color:#9a7a82;box-shadow:0 3px 0 #e0c9ce;border-color:#e0c9ce}
.newds-btn:not(:disabled):active{transform:translateY(3px);box-shadow:0 0 0 #c98996}
.newds-fill{position:absolute;inset:0 auto 0 0;width:0;background:#ffd3dca8;pointer-events:none}
.newds-label,.newds-btn small{position:relative}
.newds-btn small{display:block;font-size:8px;letter-spacing:1px;color:#b07884;margin-top:2px}
.newds-btn.ready{animation:newds-pulse 1.1s ease-in-out infinite}
@keyframes newds-pulse{50%{box-shadow:0 3px 0 #c98996,0 0 0 4px #ffd0d866}}

.pause-overlay{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f9eee8ee;backdrop-filter:blur(3px);padding:30px}
.pause-overlay[hidden]{display:none}
.pause-overlay h2{font:400 42px/1 'Playfair Display',Georgia,serif;margin:10px 0;color:#45513c}
.pause-overlay p:not(.eyebrow){margin:0;color:#64645d}
.pause-overlay button{margin-top:22px;border:0;border-radius:7px;background:#536744;color:#fff;padding:14px 19px;font:600 13px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 4px 0 #3b4a34}

.win-card{margin:14px 0 4px;padding:8px;background:#fffaf2;border:1px solid #ead9c8;box-shadow:0 6px 0 #d7b7a4;transform:rotate(-1.5deg);width:min(260px,78%)}
.win-card[hidden]{display:none}
.win-card img{display:block;width:100%;height:148px;object-fit:cover}
.memory-link{display:inline-block;margin-top:14px;color:#9f6871;font-size:12px;font-weight:600}
.memory-link[hidden],.win-confetti[hidden]{display:none}
.memory-link:hover{text-decoration:underline;text-underline-offset:4px}
.win-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.win-confetti i{position:absolute;top:-10px;width:8px;height:12px;border-radius:2px;animation:fall 2.4s linear forwards}
@keyframes fall{to{transform:translateY(110%) rotate(220deg);opacity:.2}}

.message.win-message{justify-content:flex-start;padding-top:28px;overflow:auto}

@media(max-width:420px){
  .upgrade-options{gap:6px}
  .message .upgrade-option{min-height:98px;font-size:10px;padding:8px 4px}
  .upgrade-option .upgrade-icon{font-size:23px}
  .upgrade-option small{font-size:8px}
  .newds-btn{bottom:40px;min-width:128px;padding:8px 10px;font-size:10px}
  .win-card img{height:120px}
  .shell-tools{bottom:42px;left:8px}
}

@media(prefers-reduced-motion:reduce){
  .newds-btn.ready,.win-confetti i{animation:none}
}
