:root {
    --stone-dark: #1a1814;
    --parchment: #f4ead5;
    --parchment-border: #c4a574;
    --gold: #c9a227;
    --gold-dark: #8b6914;
    --text-dark: #2c2416;
}

body.medieval-body {
    background: var(--stone-dark);
    color: #e8dcc8;
    min-height: 100vh;
}

.medieval-title {
    font-family: 'Cinzel', serif;
    color: var(--gold);
}

.text-gold { color: var(--gold) !important; }

.medieval-nav {
    background: #0f0e0c !important;
    border-bottom: 2px solid var(--gold-dark);
}

.parchment-panel {
    background: var(--parchment);
    color: var(--text-dark);
    border: 2px solid var(--parchment-border);
    border-radius: 8px;
    box-shadow: inset 0 0 30px rgba(139, 105, 20, 0.08);
}

.parchment-panel .text-muted { color: #5c4a32 !important; }

.btn-medieval {
    background: linear-gradient(180deg, #b8860b, #8b6914);
    border: 1px solid #6b5010;
    color: #fff;
}
.btn-medieval:hover { background: #a67c0a; color: #fff; }

.btn-medieval-outline {
    border: 1px solid var(--gold-dark);
    color: var(--gold-dark);
    background: transparent;
}
.btn-medieval-outline:hover {
    background: var(--gold-dark);
    color: #fff;
}

.medieval-progress {
    background: #3d3428;
    height: 10px;
}
.medieval-progress .progress-bar {
    background: linear-gradient(90deg, var(--gold-dark), var(--gold));
}

.area-card {
    background: rgba(255,255,255,0.35);
    border: 1px solid var(--parchment-border);
    border-radius: 6px;
}
.area-current {
    border-color: var(--gold);
    box-shadow: 0 0 0 1px var(--gold);
}

.class-card {
    display: block;
    padding: 1rem;
    border: 2px solid var(--parchment-border);
    border-radius: 6px;
    cursor: pointer;
    height: 100%;
}
.class-card:has(input:checked) {
    border-color: var(--gold-dark);
    background: rgba(201, 162, 39, 0.15);
}
.class-card input { margin-right: 0.5rem; }

.combat-log {
    list-style: none;
    padding: 0;
    max-height: 200px;
    overflow-y: auto;
    font-size: 0.9rem;
}
.combat-log li {
    padding: 0.25rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.tavern-panel { max-height: calc(100vh - 120px); display: flex; flex-direction: column; }
.chat-messages {
    flex: 1;
    min-height: 200px;
    max-height: 320px;
    overflow-y: auto;
    font-size: 0.85rem;
    background: rgba(255,255,255,0.4);
    border: 1px solid var(--parchment-border);
    border-radius: 4px;
    padding: 0.5rem;
}
.chat-msg { margin-bottom: 0.35rem; line-height: 1.3; }
.chat-msg .chat-name { color: var(--gold-dark); font-weight: 600; }
.chat-msg .chat-meta { color: #7a6548; font-size: 0.75rem; }

.table-medieval {
    --bs-table-bg: transparent;
    color: var(--text-dark);
}

@media (max-width: 991px) {
    .tavern-panel { max-height: none; }
    .chat-messages { max-height: 180px; }
}
