body {
    background-color: #1a1a2e; /* Dark purple/blue background */
    color: #f0f0f0;
    font-family: 'Arial', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    padding: 20px;
    perspective: 1000px; /* For 3D tilt effect */
}

.game-container {
    display: flex;
    gap: 40px;
    /* Apply a slight 3D rotation to match the perspective in the image */
    transform: rotateX(10deg) rotateY(-15deg) rotateZ(3deg);
}

/* --- GAME BOARD STYLING (LEFT PANEL) --- */

.game-board {
    display: flex;
    background-color: #f0f0f0;
    border-radius: 15px;
    padding: 15px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
    border: 3px solid #333;
    width: 380px;
    position: relative;
    color: #333;
}

.days-tracker {
    width: 60px;
    padding-right: 10px;
    border-right: 2px solid #ccc;
    text-align: center;
    font-size: 1.1em;
}

.days-title {
    background-color: #e84a5f; /* Red background for "DAYS" */
    color: white;
    padding: 5px 0;
    border-radius: 5px;
    font-weight: bold;
    margin-bottom: 10px;
}

.day-item {
    padding: 5px 0;
    margin-bottom: 5px;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    margin: 8px auto;
    background-color: #e84a5f; /* Red dots */
    color: white;
    font-size: 0.8em;
    font-weight: normal;
    display: flex;
    justify-content: center;
    align-items: center;
}

.day-bold {
    background-color: transparent;
    color: #e84a5f;
    border: 2px solid #e84a5f;
    font-weight: bold;
}

.day-small {
    font-size: 0.6em;
}

.grid-cells {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
    flex-grow: 1;
    margin-left: 10px;
}

.cell {
    background-color: #ccc;
    border-radius: 8px;
    height: 70px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 5px;
    font-size: 0.8em;
    font-weight: bold;
    position: relative;
    overflow: hidden;
    text-shadow: 0 0 3px #000;
    color: white;
}

/* Cell Styles (using background images or colors for simplicity) */
.house {
    background-color: #e84a5f; /* Red/House color */
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22100%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpolygon%20points%3D%2250%2C0%20100%2C50%20100%2C100%200%2C100%200%2C50%22%20fill%3D%22%23e84a5f%22%2F%3E%3Crect%20x%3D%2210%22%20y%3D%2260%22%20width%3D%2280%22%20height%3D%2230%22%20fill%3D%22%23b53a4d%22%2F%3E%3C%2Fsvg%3E");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
}

.grass {
    background-color: #90ee90; /* Light Green/Park color */
}

.coffee::after {
    content: '☕';
    font-size: 1.5em;
    position: absolute;
    bottom: 5px;
    right: 5px;
}

.eye::after {
    content: '👁️';
    font-size: 1.5em;
    position: absolute;
    bottom: 5px;
    left: 5px;
}

.subway::after {
    content: '🚇';
    font-size: 1.5em;
    position: absolute;
    bottom: 5px;
    right: 5px;
}

/* --- RULES CARD STYLING (RIGHT PANEL) --- */

.rules-card {
    background-color: #f0f0f0;
    color: #333;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
    border: 3px solid #5a5a5a;
    width: 400px;
    line-height: 1.4;
    position: relative;
    /* Create a folded/curled edge effect */
    border-top-right-radius: 15px 40px;
    border-bottom-left-radius: 15px 40px;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 90% 100%, 0% 100%);
}

.rules-title {
    font-family: 'Georgia', serif;
    font-size: 2.2em;
    font-weight: bold;
    color: #e84a5f; /* Red Title */
    text-align: center;
    margin-bottom: 5px;
    letter-spacing: 2px;
}

.rules-meta {
    font-size: 0.8em;
    text-align: center;
    margin-bottom: 10px;
    color: #555;
}

.meta-stats {
    display: flex;
    justify-content: space-around;
    padding: 8px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin-bottom: 15px;
    font-weight: bold;
    color: #4a4a4a;
}

.rules-card p {
    margin-bottom: 15px;
    font-size: 0.9em;
}

.rules-card strong {
    color: #e84a5f;
    font-weight: 800;
}