.lemonberry-store {
    --mountain-border: #ff40ac;
    --mountain-background: #fff0fa;
    --mountain-ink: #8b2867;
    --mountain-button: #fff;
    --mountain-hover: #ffe1f0;
}

.lemonberry-shop-image {
    display: block;
    width: min(190px, 58vw);
    height: 210px;
    object-fit: contain;
    margin: 0 auto;
    cursor: pointer;
    transform-origin: 50% 75%;
    animation: lemonberry-shop-wiggle 1.6s ease-in-out infinite;
}

@keyframes lemonberry-shop-wiggle {
    0%, 100% { transform: rotate(-4deg) translateY(0); }
    50% { transform: rotate(4deg) translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
    .lemonberry-shop-image { animation: none; }
}

.lemonberry-shop-image:focus-visible {
    outline: 3px solid #8b2867;
    outline-offset: 3px;
    border-radius: 12px;
}

.lemonberry-image-message {
    max-width: min(380px, 100%);
    padding: 10px 16px;
    border: 2px solid #ff40ac;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(139, 40, 103, 0.16);
    font-weight: 700;
}

#lemonberry-items { width: 100%; }
.lemonberry-store #lemonberry-shopping-page {
    box-sizing: border-box;
    align-self: stretch;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.lemonberry-store #lemonberry-shopping-page > #lemonberry-store-title,
.lemonberry-store #lemonberry-shopping-page > .lemonberry-store-caption,
.lemonberry-store #lemonberry-shopping-page > .shop-click-hint,
.lemonberry-store #lemonberry-shopping-page > #collectible-shop-timer {
    box-sizing: border-box;
    align-self: center;
    width: 100%;
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}
.lemonberry-store #lemonberry-items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lemonberry-store .lemonberry-menu-item { border-color: #ffc1e5; background: #fff8fc; }
.lemonberry-store .lemonberry-menu-item:hover:not(:disabled) { background: #fff0fa; }
.lemonberry-store .lemonberry-menu-item .king-crab-menu-name { color: #8b2867; }
.lemonberry-store .lemonberry-menu-item .lemonberry-menu-rarity { color: #8b2867; font-size: 12px; font-weight: 700; line-height: 1.2; }
.lemonberry-store .lemonberry-menu-item .king-crab-menu-description { border-color: #ff40ac; background: #fff8fc; color: #8b2867; }
.lemonberry-store .lemonberry-menu-item .king-crab-menu-price { color: #8b2867; }
.lemonberry-store .lemonberry-menu-item .king-crab-quantity-badge { border-color: #ff40ac; color: #a51c69; }
.lemonberry-store .lemonberry-menu-item .king-crab-menu-icon {
    display: grid;
    place-items: center;
    width: 100%;
    margin-top: auto;
}
.lemonberry-store .lemonberry-menu-item .king-crab-menu-icon img { display: block; width: 66px; height: 66px; object-fit: contain; }
.lemonberry-store .lemonberry-menu-item .king-crab-menu-name { width: 100%; margin: 8px 0; text-align: center; }
#lemonberry-order-controls { border-color: #ff40ac; background: #fff8fc; }
#lemonberry-order-controls #lemonberry-buy-selected-button { flex: 0 0 auto; margin: 0; }
#lemonberry-order-total { margin: 0 !important; }
#lemonberry-order-icons img { width: 28px; height: 28px; object-fit: contain; vertical-align: middle; }
#lemonberry-order-icons > span:not(.food-store-empty) { font-size: 23px; line-height: 1; }
#lemonberry-confirm.moko-confirm-overlay { z-index: 10030; }
.lemonberry-store .moko-confirm-card { border-color: #ff40ac; background: #fff8fc; color: #8b2867; }
.lemonberry-store .moko-confirm-card button { border-color: #ff40ac; background: #fff0fa; color: #8b2867; }
.lemonberry-store .moko-confirm-card button:hover:not(:disabled) { background: #ffe1f0; }

#beach-scene h3,
.beach-subscene h3 {
    margin: 4px 0;
    color: #227b8b;
    font-size: 22px;
    text-align: center;
}

#beach-scene p,
.beach-subscene p {
    max-width: 440px;
    margin: 0 0 8px;
    color: #466c70;
    line-height: 1.5;
    text-align: center;
}

#beach-scene button,
.beach-subscene button {
    border-color: #60aeba;
    background: #f0ffff;
    color: #245f68;
}

#beach-scene button:hover:not(:disabled),
.beach-subscene button:hover:not(:disabled) {
    background: #c9eef0;
}

.beach-scene-art,
.beach-character-art {
    color: #187c98;
    font-size: 44px;
    line-height: 1.2;
    text-align: center;
}

.beach-treasure-pet-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 150px;
    width: min(100%, 320px);
}

#beach-treasure-scene h3 { margin-bottom: 20px; }
#beach-treasure-scene .beach-treasure-pet-row { margin-bottom: -8px; }

.beach-treasure-pet-preview {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 190px;
    height: 145px;
    transform-origin: bottom center;
}

.beach-treasure-x {
    color: #9b372b;
    font-size: 48px;
    line-height: 1;
}

.beach-treasure-pet-preview.is-jumping {
    animation: beach-treasure-pet-jump 480ms ease-out;
}

.beach-treasure-pet-preview.is-jumping-strong {
    animation: beach-treasure-pet-jump-strong 680ms cubic-bezier(.22,.75,.35,1);
}

@keyframes beach-treasure-pet-jump {
    0%, 100% { transform: translateY(0); }
    35% { transform: translateY(-20px); }
    68% { transform: translateY(1px); }
    84% { transform: translateY(-5px); }
}

@keyframes beach-treasure-pet-jump-strong {
    0%, 100% { transform: translateY(0); }
    28% { transform: translateY(-46px); }
    48% { transform: translateY(1px); }
    67% { transform: translateY(-24px); }
    84% { transform: translateY(1px); }
}

.beach-character-art {
    font-size: 62px;
}

#king-crab-main-choices,
#king-crab-dialogue-choices {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

#king-crab-main-choices[hidden],
#king-crab-dialogue-choices[hidden],
#king-crab-store[hidden],
#king-crab-receipt[hidden],
#king-crab-fish-sale-receipt[hidden] {
    display: none !important;
}

#king-crab-store {
    width: min(100%, 700px);
    text-align: center;
}

.store-click-hint {
    margin: 4px auto 10px !important;
    color: #466c70;
    font-size: 0.95em;
    font-style: italic;
    text-align: center;
}

.king-crab-store-items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0;
}

.king-crab-menu-item {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
    min-height: 184px;
    padding: 12px 9px;
    border: 2px dotted #70bfcb;
    border-radius: 14px;
    background: #f8fdff;
    overflow-wrap: anywhere;
    font: inherit;
    cursor: pointer;
}

.king-crab-menu-icon { font-size: 44px; }
.king-crab-menu-name { margin: 8px 0; color: #227b8b; font-size: 1.05em; }
.king-crab-menu-effect { min-height: 34px; margin: 2px 0 8px; font-size: 13px; font-weight: 700; line-height: 1.35; }
.king-crab-menu-description { display: none; position: absolute; z-index: 2; inset: 8px; place-items: center; padding: 8px; border: 1px solid #70bfcb; border-radius: 10px; background: #f0ffff; color: #245f68; line-height: 1.35; text-align: center; }
.king-crab-menu-item.show-description .king-crab-menu-description { display: grid; }
.king-crab-menu-item:hover:not(:disabled) { background: #e8f8fa; }
.king-crab-menu-price { margin-top: auto; padding-top: 8px; font-weight: 800; }

.king-crab-menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#king-crab-store-items .king-crab-menu-icon { margin-top: auto; }

.king-crab-quantity-badge {
    position: absolute;
    z-index: 3;
    top: 4px;
    right: 4px;
    min-width: 30px;
    padding: 3px 6px;
    border: 2px solid #60aeba;
    border-radius: 14px;
    background: #fff;
    color: #245f68;
    font-size: 12px;
    font-weight: 700;
}

.king-crab-quantity-badge[hidden] { display: none; }

.king-crab-fish-sale-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 184px;
    padding: 12px 9px;
    border: 2px dotted #70bfcb;
    border-radius: 14px;
    background: #f8fdff;
    color: #245f68;
    text-align: center;
    overflow-wrap: anywhere;
}
.king-crab-fish-sale-card:hover:not(:disabled) { background: #e8f8fa; }
.king-crab-fish-sale-badge {
    position: absolute;
    z-index: 3;
    top: 4px;
    right: 4px;
    min-width: 30px;
    padding: 3px 6px;
    border: 2px solid #60aeba;
    border-radius: 14px;
    background: #fff;
    color: #245f68;
    font-size: 12px;
    font-weight: 700;
}
.king-crab-fish-sale-badge[hidden] { display: none; }
.king-crab-fish-sale-main { display: grid; justify-items: center; align-content: start; gap: 5px; flex: 1; }
.king-crab-fish-sale-icon { display: grid; place-items: center; width: 64px; height: 64px; font-size: 38px; line-height: 1; }
.king-crab-fish-sale-icon img { width: 64px; height: 64px; object-fit: contain; }
.king-crab-fish-sale-rarity { font-size: 12px; font-weight: 700; }
.king-crab-fish-sale-owned { display: block; font-size: 12px; }
.king-crab-fish-sale-description { display: none; position: absolute; z-index: 2; inset: 8px; place-items: center; padding: 8px; border: 1px solid #70bfcb; border-radius: 10px; background: #f0ffff; color: #245f68; line-height: 1.35; }
.king-crab-fish-sale-card:hover:not(:disabled) .king-crab-fish-sale-description,
.king-crab-fish-sale-card:focus-visible .king-crab-fish-sale-description { display: grid; }
.king-crab-fish-sale-price { margin-top: auto; padding-top: 8px; font-weight: 800; }
.king-crab-fish-sale-empty { grid-column: 1 / -1; margin: 12px auto; text-align: center; }
.king-crab-fish-sale-order { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; margin: 12px auto; padding: 12px 14px; border: 2px dotted #60aeba; border-radius: 14px; background: #f8fdff; }
#king-crab-fish-sale {
    box-sizing: border-box;
    align-self: stretch;
    width: 100%;
    text-align: center;
}
#king-crab-fish-sale > h3,
#king-crab-fish-sale > p,
#king-crab-fish-sale > #king-crab-fish-sale-items,
#king-crab-fish-sale > .king-crab-fish-sale-order {
    box-sizing: border-box;
    width: min(100%, 760px);
    margin-right: auto;
    margin-left: auto;
}
#king-crab-fish-sale > #king-crab-fish-sale-items {
    margin-top: 12px;
    margin-bottom: 12px;
    transform: translateX(-6px);
}
.king-crab-fish-sale-order #king-crab-fish-sale-button { flex: 0 0 auto; margin: 0; }
.king-crab-fish-sale-order #king-crab-fish-sale-total { font-weight: 800; }
#king-crab-fish-sale-icons img { width: 24px; height: 24px; object-fit: contain; vertical-align: middle; }
#king-crab-fish-sale-confirm .moko-confirm-card { border-color: #70bfcb; background: #f0ffff; color: #245f68; }
#king-crab-fish-sale-confirm .moko-confirm-card button { border-color: #60aeba; background: #e8f8fa; color: #245f68; }

#king-crab-order-total {
    display: block;
    width: 100%;
    margin: 0;
    font-weight: 800;
    text-align: center;
}
#king-crab-receipt-message { margin: 0 auto 12px; text-align: center; }
.king-crab-receipt-items {
    display: grid;
    justify-items: center;
    gap: 8px;
    margin: 10px auto 16px;
}
.king-crab-receipt-item { display: flex; align-items: center; justify-content: center; gap: 9px; text-align: center; }
.king-crab-receipt-item img { width: 34px; height: 34px; object-fit: contain; }
.king-crab-receipt-item-icon { font-size: 28px; line-height: 1; }
.king-crab-receipt-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; }
.shop-transaction-receipt { width: min(100%, 700px); margin: 12px auto; text-align: center; }
.shop-receipt-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px auto 0; }
.shop-transaction-receipt > p { margin: 6px auto; text-align: center; }
#little-shop-receipt { padding: 18px; border: 3px dotted #ff40ac; border-radius: 18px; background: #fff0fa; color: #8b2867; }
.lemonberry-store #lemonberry-receipt { box-sizing: border-box; padding: 16px; border: 3px dotted var(--mountain-border); border-radius: 16px; background: var(--mountain-background); color: var(--mountain-ink); }
#little-shop-receipt[hidden],
#lemonberry-receipt[hidden] { display: none !important; }
.frost-shop-area[hidden],
.shop-transaction-receipt[hidden],
#lemonberry-shopping-page[hidden],
#little-shop-content[hidden] { display: none !important; }
#king-crab-order-controls,
#lava-snack-order-controls,
#magma-ice-creamery-order-controls,
#lemonberry-order-controls {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    margin: 12px auto;
    padding: 12px 14px;
    border: 2px dotted #60aeba;
    border-radius: 14px;
    background: #f8fdff;
}
.food-store-order-summary { display: grid; gap: 5px; min-width: 0; }
.food-store-order-summary { flex: 1; justify-items: center; }
.food-store-order-summary p { margin: 0; font-weight: 800; text-align: center; }
.food-store-order-icons { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; min-height: 26px; }
.food-store-order-icons > span:not(.food-store-empty) { font-size: 23px; line-height: 1; }
.food-store-empty { color: #637d8e; font-size: 13px; }
#king-crab-order-controls #king-crab-buy-order-button,
#lava-snack-order-controls #lava-snack-buy-order-button,
#magma-ice-creamery-order-controls #magma-ice-creamery-buy-order-button,
#lemonberry-order-controls #lemonberry-buy-selected-button,
#king-crab-store-back-button { display: block; margin: 8px auto; }
#king-crab-order-controls #king-crab-buy-order-button,
#lava-snack-order-controls #lava-snack-buy-order-button,
#magma-ice-creamery-order-controls #magma-ice-creamery-buy-order-button,
#lemonberry-order-controls #lemonberry-buy-selected-button { flex: 0 0 auto; margin: 0; }

.lava-snack-stand-scene #lava-snack-menu,
.lava-snack-stand-scene #lava-snack-receipt,
.magma-ice-creamery-scene #magma-ice-creamery-menu,
.magma-ice-creamery-scene #magma-ice-creamery-receipt {
    width: min(100%, 700px);
    text-align: center;
}

.lava-snack-stand-scene #lava-snack-menu[hidden],
.lava-snack-stand-scene #lava-snack-receipt[hidden],
.magma-ice-creamery-scene #magma-ice-creamery-menu[hidden],
.magma-ice-creamery-scene #magma-ice-creamery-receipt[hidden] {
    display: none !important;
}

#lemonberry-order-controls { border: 3px dotted #ff40ac; background: #fff8fc; }

.lava-snack-stand-scene .king-crab-menu-item {
    border-color: #cb9470;
    background: #fff8ed;
    min-height: 198px;
}
.lava-snack-stand-scene .king-crab-store-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lava-snack-stand-scene .king-crab-menu-icon { margin-top: auto; font-size: 54px; line-height: 1; }

.lava-snack-stand-scene .king-crab-menu-name {
    color: #80503a;
    margin-top: 18px;
}
.magma-ice-creamery-art { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 4px 0; }
.magma-ice-creamery-art img { display: block; width: 68px; height: 84px; object-fit: contain; }
.magma-ice-creamery-item { min-height: 220px; }
.magma-ice-creamery-item .king-crab-menu-icon img { display: block; width: 100px; height: 100px; object-fit: contain; }
#magma-ice-creamery-order-icons img { width: 24px; height: 24px; object-fit: contain; vertical-align: middle; }
.lava-snack-stand-scene .king-crab-menu-item { background: #fff8ed; }
.lava-snack-stand-scene .king-crab-menu-item:hover:not(:disabled) { background: #ffefdc; }
.lava-snack-stand-scene .king-crab-menu-effect,
.lava-snack-stand-scene .king-crab-menu-price { color: #80503a; }
.lava-snack-stand-scene .king-crab-menu-effect { font-weight: 400; }

.lava-snack-stand-scene .king-crab-menu-description { border-color: #cb9470; background: #fff8ed; color: #80503a; }
.lava-snack-stand-scene .moko-confirm-card { border-color: #cb9470; background: #fff8ed; color: #80503a; }
.lava-snack-stand-scene .moko-confirm-card button { border-color: #cb9470; background: #fff0dc; color: #80503a; }
.lava-snack-stand-scene .moko-confirm-card button:hover:not(:disabled) { background: #ffe0bd; }

.lava-snack-stand-scene .king-crab-quantity-badge {
    border-color: #cb9470;
    color: #80503a;
}

@media (max-width: 600px) {
    .magma-ice-creamery-art { gap: 4px; }
    .magma-ice-creamery-art img { width: 54px; height: 68px; }
    .lava-snack-stand-scene .king-crab-menu-icon { font-size: 48px; }
    .magma-ice-creamery-scene .magma-ice-creamery-item { min-height: 212px; }
    .magma-ice-creamery-item .king-crab-menu-icon img { width: 90px; height: 90px; }
    .king-crab-store-items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .lemonberry-store #lemonberry-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .king-crab-menu-item { min-height: 165px; }
    .king-crab-fish-sale-order { flex-direction: column; }
    .king-crab-fish-sale-order #king-crab-fish-sale-button { width: 100%; }
    .king-crab-fish-sale-order .food-store-order-summary { width: 100%; }
    #king-crab-order-controls,
    #lava-snack-order-controls,
    #magma-ice-creamery-order-controls,
    #lemonberry-order-controls { flex-direction: column; }
    .food-store-order-summary { width: 100%; }
    #king-crab-order-controls #king-crab-buy-order-button,
    #lava-snack-order-controls #lava-snack-buy-order-button,
    #magma-ice-creamery-order-controls #magma-ice-creamery-buy-order-button,
    #lemonberry-order-controls #lemonberry-buy-selected-button { width: 100%; }
}

#lava-snack-order-controls { border-color: #cb9470; background: #fff8ed; }
#magma-ice-creamery-order-controls { border-color: #cb9470; background: #fff8ed; }

#lava-snack-receipt button {
    display: block;
    margin: 8px auto;
    border-color: #cb9470;
    background: #fff0dc;
    color: #80503a;
}

#magma-ice-creamery-receipt button {
    display: block;
    margin: 8px auto;
    border-color: #cb9470;
    background: #fff0dc;
    color: #80503a;
}
#magma-ice-creamery-receipt button:hover:not(:disabled) { background: #ffe0bd; }
#magma-ice-creamery-receipt-message { margin: 0 auto 12px; text-align: center; }

#lava-snack-receipt button:hover:not(:disabled) {
    background: #ffe0bd;
}

#lava-snack-receipt-message {
    margin: 0 auto 12px;
    text-align: center;
}

