body {
    font-family: "Helvetica Neue", sans-serif;
    background-color: #f0f4f8;
    margin: 0;
    padding: 20px;
    display: flex;
    justify-content: center;
    }

    .container {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    }

    .sub-container {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    }

    .player-name {
    font-size: 26px;
    font-weight: bold;
    margin: 15px 0;
    }

    .balance {
    background-color: #b8860b;
    color: white;
    padding: 10px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    font-size: 18px;
    margin-top: 10px;
    }

    .balance .amount {
    font-size: 32px;
    margin-top: 5px;
    }

    .ccy {
        font-size: 20px;
        margin-right: 5px;
    }

    .button-card {
    background: white;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    }

    .feedback-card {
    background: white;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    }

    button {
    padding: 14px;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    color: white;
    cursor: pointer;
    }

    .btn-grey {
    background-color: #a6a5a5;
    }

    .btn-cyan {
    background-color: #17a2b8;
    }

    .btn-red {
    background-color: red;
    }

    .btn-primary {
    background-color: #007bff;
    }

    .btn-home {
        background-color: #5cb032;
    }

    .btn-mortgage {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: white;
        border: 1px solid red;
        height: 25px;
        padding: 4px;
        margin: 15px 0;
        border-radius: 5px;
        color: red;
        font-size: 14px;
        cursor: pointer;
    }

    .trade-accept {
        border: 1px solid green;
        color: green;
    }

    .chat-card {
        background: white;
        border-radius: 12px;
        font-size: 16px;
        padding: 15px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .chat-card textarea {
        resize: none;
        border-radius: 8px;
        padding: 12px;
        font-size: 14px;
        border: 1px solid #ccc;
    }

    .name-input {
        resize: none;
        border-radius: 8px;
        padding: 12px;
        font-size: 18px;
        border: 1px solid #ccc;
    }

    .property-card {
        background: white;
        border-radius: 4px;
        margin: 5px 0;
        overflow: hidden;
    }

    .property-title {
        padding: 12px;
        background-color: white;
        cursor: pointer;
        font-weight: bold;
        display: flex;
        justify-content: space-between;
    }

    .property-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        padding: 0 12px;
        background-color: #fff;
    }

    .property-content.open {
        border-top: 1px solid #eee;
    }

    .prop-color {
        display: inline-block;
        width: 12px;
        height: 12px;
        margin-right: 5px;
        border-radius: 4px;
        background-color: grey;
    }

    .input-group {
    display: flex;
    width: 100%;
    max-width: 600px;
    border: 1px solid #ccc;
    border-radius: 6px;
    overflow: hidden;
    font-family: sans-serif;
    box-sizing: border-box;
    margin: 15px 0;
    }

    .input-label {
    background-color: #f1f5f9;
    padding: 10px 16px;
    border-right: 1px solid #ccc;
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-weight: 600;
    color: #374151;
    }

    .input-field,
    .input-select {
    padding: 10px;
    border: none;
    font-size: 16px;
    outline: none;
    flex: 1;
    min-width: 0; /* prevent flex item from overflowing */
    box-sizing: border-box;
    }

    .input-select {
    max-width: 100px;
    }

    .input-button {
    background-color: #22c55e;
    color: white;
    border: none;
    padding: 0 20px;
    font-size: 16px;
    cursor: pointer;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 0;
    }

    .input-button:hover {
    background-color: #16a34a;
    }

    .arrow {
    transition: transform 0.3s ease;
    color: grey;
    }

    .property-title.active .arrow {
        transform: rotate(180deg); /* points up */
    }

    .offer-price {
        color: black;
        width: 100%;
        text-align: center;
        margin-top: 15px;
    }

    .offer-tag {
        padding: 4px 8px;
        background-color: #5ec20f;
        border-radius: 15px;
        font-size: 12px;
        color: white;
        margin-left: 10px;
    }

    .single-button {
        flex-direction: column;
        position: relative;
        width: 100%;
        background-color: #28a745;
        border-radius: 15px;
        height: 300px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 32px;
        color: white;
        cursor: pointer;
    }

    .double-button {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    .left-button {
        flex-direction: column;
        width: 48%;
        background-color: #28a745;
        border-top-left-radius: 15px;
        border-bottom-left-radius: 15px;
        height: 300px;
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
        font-size: 32px;
        color: white;
        cursor: pointer;
    }

    .right-button {
        flex-direction: column;
        width: 48%;
        background-color: #ffc107;
        border-top-right-radius: 15px;
        border-bottom-right-radius: 15px;
        height: 300px;
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
        font-size: 32px;
        color: black;
        cursor: pointer;
    }

    .now-playing {
        width: 100%;
        position: relative;
        border: 3px dashed black;
        background-color: #e6ebe7;
        border-radius: 15px;
        height: 300px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 32px;
        color: white;
        gap: 1rem;
    }

    .user-img {
        border-radius: 20px;
        z-index: 1;
    }

    .now-playing-text {
        font-size: 24px;
        color: black;
        font-weight: bold;
    }

    .card-player-name {
        background-color: #909090;
        border-radius: 25px;
        padding: 8px 15px;
        font-size: 20px;
        font-weight: bold;
    }

    .user-color {
        position: absolute;
        background-color: #16a34a;
        width: 30%;
        height: 40%;
        z-index: 0;
    }

    .bg-red {
        background-color: #D32F2F;
    }
    .bg-blue {
        background-color: #1976D2;
    }
    .bg-green {
        background-color: #388E3C;
    }
    .bg-yellow {
        background-color: #FBC02D;
    }  
    .bg-purple {
        background-color: #8E24AA;
    }
    .bg-orange {
        background-color: #FF9800;
    }
    .bg-brown {
        background-color: #795548;
    }
    .bg-gray {
        background-color: #9E9E9E;
    }

    .button-disabled {
        background-color: grey;
    }

    .unmortgage {
        border-color: green;
        color: green;
    }

    .bidder {
        display: flex;
        justify-content: center;
        flex-direction: row;
        gap: 15px;
    }

    .bidding-subtitle {
        font-size: 8px;
        color: grey;
    }

    .property-auction {
        background-color: white;
        border-radius: 25px;
        border-left: 10px solid lightblue;
        color: black;
        font-size: 20px;
        padding: 5px 20px;;
    }

    .current-bid {
        width: 90%;
        border-radius: 10px;
        padding: 12px 0;
        background-color: #4b5a69;
    }

    .bidding-header {
        font-size: 12px;
    }

    .bid-amount {
        font-size: 32px;
        text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    }

    .bid-input {
        width: 40%;
        padding: 10px;
        border: none;
        font-size: 16px;
        outline: none;
        border-radius: 10px;
    }

    .bid-button {
        background-color: green;
        border-radius: 10px;
        font-size: 16px;
        padding: 14px;
        cursor: pointer;
    }

    .current-bidder {
        display: inline-block;
        margin-top: 5px;
        bottom: -20px;
        background-color: rgba(255, 255, 255, 0.25);
        border-radius: 15px;
        font-size: 14px;
        padding: 5px 15px;
    }

    .time-left {
        position: absolute;
        top: 10px;
        right: 10px;
        background-color: red;
        font-size: 14px;
        font-weight: bold;
        padding: 5px 15px;
        border-radius: 15px;
    }

    .pay-value {
        font-size: 14px;
        padding: 5px 10px;
        border-radius: 30px;
        background-color: rgba(255, 255, 255, 0.5);
        margin-top: 10px;
    }

    @keyframes shake {
        0%, 100% { transform: translateX(0); }
        10%, 30%, 50%, 70%, 90% { transform: translateX(-8px); }
        20%, 40%, 60%, 80% { transform: translateX(8px); }
      }
      
      .shake {
        display: inline-block;
        animation: shake 1s ease-in-out;
      }
      