.tpl-ironworks {

    --slate:      #1b222c;
    --slate-2:    #232c38;
    --slate-3:    #2c3644;
    --moss:       #38463b;
    --moss-2:     #4a5a48;
    --brass:      #c9a227;
    --brass-lit:  #e8cf7a;
    --brass-dim:  #8a701c;
    --lamp:       #f0b356;
    --parchment:  #e9dfc6;
    --parchment-2:#d6c9a8;
    --parchment-3:#bfae87;
    --soot:       #11161d;

    --plate-1: #7d3b3b;
    --plate-2: #5c4a72;
    --plate-3: #2f4a6b;
    --plate-4: #6b5a2a;
    --plate-5: #3f5c50;

    --font-iw: 'Trajan Pro', 'Cinzel', 'Georgia', 'Times New Roman', serif;
    --font-iw-plate: 'Copperplate Gothic Light', Copperplate, 'Optima',
                     'Palatino Linotype', Georgia, serif;

    --bg:           var(--slate);
    --surface:      var(--parchment);
    --surface-2:    var(--parchment-2);
    --border:       rgba(201, 162, 39, .38);
    --text:         #232019;
    --text-muted:   #5d5443;
    --primary:      #7d3b3b;
    --primary-text: var(--parchment);
    --ok:           #2f6b45;
    --error:        #9c2f2f;
    --radius:       4px;
    --maxw:         1400px;
}

body.tpl-ironworks {
    background-color: var(--slate);
    background-image:
        radial-gradient(ellipse 40% 30% at 78% 18%, rgba(240, 179, 86, .16), transparent 62%),
        radial-gradient(ellipse 50% 40% at 20% 72%, rgba(56, 70, 59, .40), transparent 65%),
        linear-gradient(170deg, var(--slate-2), var(--soot));
    background-attachment: fixed;
    color: var(--text);
    font-family: var(--font-iw);
}

.tpl-ironworks .topbar,
.tpl-ironworks .event-header,
.tpl-ironworks .table-block,
.tpl-ironworks .pager,
.tpl-ironworks .admin h1, .tpl-ironworks .userpanel h1, .tpl-ironworks .userpanel>h2 { color: var(--parchment); }
.tpl-ironworks .fmt-num_weekday_date_hours .day-tab-num{
        color: var(--brass-lit);
}

.tpl-ironworks h1, .tpl-ironworks h2, .tpl-ironworks h3 { font-family: var(--font-iw); font-weight: 600; }
.tpl-ironworks .table-title, .tpl-ironworks .table-name{color:var(--parchment-3);}
.tpl-ironworks .game-deleted-note{color:var(--parchment-3);}
.tpl-ironworks .btn, .tpl-ironworks input, .tpl-ironworks select, .tpl-ironworks textarea {
    font-family: 'Palatino Linotype', Palatino, Georgia, serif;
}
.tpl-ironworks .content { max-width: var(--maxw); }

.tpl-ironworks .topbar {
    background: linear-gradient(180deg, var(--slate-3), var(--soot));
    border-bottom: 3px solid var(--brass-dim);
    box-shadow: 0 2px 0 rgba(201, 162, 39, .18), 0 10px 26px rgba(0, 0, 0, .45);
}
.tpl-ironworks .brand, .tpl-ironworks .topbar a { color: var(--parchment); }
.tpl-ironworks .topbar a:hover { color: var(--brass-lit); }
.tpl-ironworks .nav-burger { background: var(--slate-3); color: var(--parchment); border-color: var(--brass-dim); }

.tpl-ironworks .event-header h1 {
    color: var(--parchment);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-align:center;
    font-size: 1.9rem;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .6);
}
.tpl-ironworks .event-header .event-date,
.tpl-ironworks .event-header .event-hours{
    text-align:center;
    color: var(--parchment);
}

.tpl-ironworks .poll-opt-meta,
.tpl-ironworks .poll-opt-votes{
    color: var(--parchment-3);
}
.tpl-ironworks .poll-card .game-time{
    color: var(--parchment-3);
}
.tpl-ironworks .event-header h1::after {
    content: '';
    display: block;
    width: 220px;
    max-width: 60%;
    height: 2px;
    margin: 0.5rem auto 0;
    background: linear-gradient(90deg, transparent, var(--brass), transparent);
}

.tpl-ironworks .day-tabs,
.tpl-ironworks .event-tabs { border-bottom: 2px solid var(--brass-dim); gap: 0.35rem; }
.tpl-ironworks .day-tab,
.tpl-ironworks .event-tab {
    background: linear-gradient(180deg, var(--slate-3), var(--slate-2));
    border: 1px solid var(--brass-dim);
    border-bottom: none;
    border-radius: 3px 3px 0 0;
    color: var(--parchment-2);
    padding: 0.5rem 1.25rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 0.82rem;
}
.tpl-ironworks .day-tab:hover,
.tpl-ironworks .event-tab:hover { color: var(--brass-lit); }
.tpl-ironworks .day-tab-active,
.tpl-ironworks .event-tab-active {
    background: linear-gradient(180deg, var(--brass-dim), #6b5616);
    border-color: var(--brass);
    color: #fff6dd;
    margin-bottom: -2px;
}
.tpl-ironworks .day-tab-active:hover,
.tpl-ironworks .event-tab-active:hover {
    background: linear-gradient(180deg, #6b5616, #4a3c0f);
    color: #fff6dd;
}
.tpl-ironworks .day-tab-date, .tpl-ironworks .day-tab-hours { color: inherit; opacity: .85; }

.tpl-ironworks .table-block {
    background: rgba(27, 34, 44, .72);
    border: 1px solid var(--brass-dim);
    border-radius: 6px;
    box-shadow: inset 0 0 0 1px rgba(233, 223, 198, .06), 0 10px 30px rgba(0, 0, 0, .40);
}
.tpl-ironworks .table-head h2 {
    color: var(--parchment);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 1.05rem;
}
.tpl-ironworks .table-head h2::before { content: '⚙ '; color: var(--brass); }

.tpl-ironworks .card,
.tpl-ironworks .event-msg,
.tpl-ironworks .timeline-block,
.tpl-ironworks .mailing-block {
    background: var(--parchment);
    color: var(--text);
    border: 1px solid var(--brass-dim);
    border-radius: 5px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .40);
}

.tpl-ironworks .game-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2.6rem;
    align-items: flex-start;
    justify-content: center;
}
.tpl-ironworks .game-card {
    display: flex;
    align-items: flex-start;
    gap: 0;
    flex: 0 0 auto;
    background: transparent;
    border: none;
    padding: 0;
    box-shadow: none;
}

.tpl-ironworks .gc-info {
    width: 250px;
    flex: 0 0 250px;
    position: relative;
    z-index: 1;
    text-align: center;
    padding-bottom: 0.7rem;
    color: var(--parchment);
    background: linear-gradient(180deg, var(--slate-3), var(--soot));
    border: 1px solid var(--brass-dim);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(233, 223, 198, .07), 0 8px 22px rgba(0, 0, 0, .5);
}
.tpl-ironworks .game-deleted .gc-info { background: linear-gradient(180deg, #4a2a2a, #2a1616); }

.tpl-ironworks .gc-tabs { display: flex; gap: 0.3rem; padding: 0.4rem 0.4rem 0; margin-bottom: 0.25rem; justify-content: flex-start; }
.tpl-ironworks .gc-tab {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.2rem 0.55rem;
    border-radius: 2px;
    text-decoration: none;
    color: var(--parchment);
    background: var(--slate-3);
    border: 1px solid var(--brass-dim);
}
.tpl-ironworks .gc-tab:hover { background: #7d6418; color: #fff6dd; text-decoration: none; }
.tpl-ironworks .gc-tab-del { background: #5e2626; border-color: #8c3b3b; }
.tpl-ironworks .gc-tab-del:hover { background: #8c3b3b; }

.tpl-ironworks .gc-thumb { padding: 0.6rem 0 0.3rem; }
.tpl-ironworks .gc-thumb img {
    max-width: 150px;
    max-height: 190px;
    border: 1px solid var(--brass-dim);
    box-shadow: 0 0 0 3px var(--soot), 0 4px 14px rgba(0, 0, 0, .6);
}

.tpl-ironworks .gc-name {
    position: relative;
    margin: 0.7rem 0 0.6rem;
    padding: 0.32rem 0.5rem;
    font-family: var(--font-iw-plate);
    font-size: 0.94rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--parchment);
    background: var(--plate-1);
    border-top: 1px solid rgba(233, 223, 198, .28);
    border-bottom: 1px solid rgba(0, 0, 0, .45);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .45);
}
.tpl-ironworks .gc-name::before,
.tpl-ironworks .gc-name::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 12px;
    background: inherit;
    filter: brightness(.7);
}
.tpl-ironworks .gc-name::before { left: -12px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 40% 50%); }
.tpl-ironworks .gc-name::after  { right: -12px; clip-path: polygon(0 0, 100% 0, 60% 50%, 100% 100%, 0 100%); }
.tpl-ironworks .gc-name a { color: var(--parchment); text-decoration: none; border-bottom: 1px dotted rgba(233, 223, 198, .5); }
.tpl-ironworks .gc-name a:hover { border-bottom-style: solid; color: #fff6dd; }

.tpl-ironworks .game-list > .game-card:nth-child(5n+2) .gc-name { background: var(--plate-2); }
.tpl-ironworks .game-list > .game-card:nth-child(5n+3) .gc-name { background: var(--plate-3); }
.tpl-ironworks .game-list > .game-card:nth-child(5n+4) .gc-name { background: var(--plate-4); }
.tpl-ironworks .game-list > .game-card:nth-child(5n+5) .gc-name { background: var(--plate-5); }

.tpl-ironworks .gc-band {
    padding: 0.3rem 0.55rem;
    font-size: 0.82rem;
    color: var(--parchment-2);
    letter-spacing: 0.03em;
}
.tpl-ironworks .gc-band strong { color: #fff6dd; font-weight: 600; }
.tpl-ironworks .gc-band + .gc-band { border-top: 1px solid rgba(233, 223, 198, .08); }
.tpl-ironworks .gc-row { background: rgba(233, 223, 198, .05); }
.tpl-ironworks .gc-rules { background: rgba(233, 223, 198, .05); color: #8fd6a4; font-weight: 600; }
.tpl-ironworks .gc-rules.rules-good { color: #8fd6a4; }
.tpl-ironworks .gc-rules.rules-mid  { color: #f0cf6a; }
.tpl-ironworks .gc-rules.rules-bad  { color: #ff9d94; }
.tpl-ironworks .gc-comment { background: rgba(0, 0, 0, .35); font-size: 0.8rem; line-height: 1.4; }
.tpl-ironworks .gc-comment .c-name { color: var(--brass-lit); }

.tpl-ironworks .gc-waga { color: #1a1508; font-weight: 700; letter-spacing: 0.06em; }
.tpl-ironworks .gc-waga.weight-1 { background: #7fbf6a; }
.tpl-ironworks .gc-waga.weight-2 { background: #b6c85a; }
.tpl-ironworks .gc-waga.weight-3 { background: #e0b34a; }
.tpl-ironworks .gc-waga.weight-4 { background: #e08a45; }
.tpl-ironworks .gc-waga.weight-5 { background: #d4685e; }

.tpl-ironworks .gc-players {
    background: var(--parchment);
    border: 1px solid var(--brass-dim);
    border-radius: 4px;
    padding: 0.7rem 0.7rem 0.7rem 1.3rem;
    margin-left: -0.7rem;
    margin-top: 1.8rem;
    min-width: 300px;
    color: var(--text);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.tpl-ironworks .gc-slot {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    background: var(--parchment-2);
    border: 1px solid var(--parchment-3);
    border-radius: 2px;
    padding: 0.32rem 0.55rem;
    margin-bottom: 0.35rem;
    font-size: 0.85rem;
    color: var(--text);
}
.tpl-ironworks .gc-slot strong { color: #14110a; }
.tpl-ironworks .gc-reserve { background: repeating-linear-gradient(45deg, var(--parchment-2) 0 6px, var(--parchment-3) 6px 12px); }
.tpl-ironworks .gc-knows { color: #255536; font-size: 0.78rem; }
.tpl-ironworks .gc-knows.rules-good { color: #255536; }
.tpl-ironworks .gc-knows.rules-mid  { color: #6b4a00; }
.tpl-ironworks .gc-knows.rules-bad  { color: #8c2018; }
.tpl-ironworks .gc-slot-q { flex: 1 1 100%; font-size: 0.8rem; color: var(--text-muted); padding-left: 0.2rem; }

.tpl-ironworks .gc-resign {
    margin-left: auto;
    background: #8c3b3b;
    color: var(--parchment);
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.2rem 0.5rem;
    border-radius: 2px;
    text-decoration: none;
    white-space: nowrap;
    margin-right: -20px;
}
.tpl-ironworks .gc-resign:hover { background: #a54a4a; text-decoration: none; }

.tpl-ironworks .gc-signup {
    display: block;
    text-align: left;
    background: linear-gradient(180deg, var(--slate-3), var(--slate-2));
    color: var(--parchment);
    border: 1px solid var(--brass-dim);
    border-radius: 2px;
    padding: 0.38rem 0.7rem;
    margin-bottom: 0.35rem;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    text-decoration: none;
}
.tpl-ironworks .gc-signup:hover { background: var(--brass-dim); color: #fff6dd; text-decoration: none; }
.tpl-ironworks .gc-more-slots { color: var(--text-muted); font-size: 0.8rem; }

.tpl-ironworks .gc-info .comment-list li, .tpl-ironworks .poll-card .comment-list li { background: rgba(0, 0, 0, .3); border: none; border-top: 1px solid rgba(233, 223, 198, .08); border-radius: 0; color: var(--parchment-2); text-align: left; }
.tpl-ironworks .gc-info .discussion { border-top: none; margin: 0; padding: 0; }
.tpl-ironworks .gc-info .comment-list { gap: 0; margin: 0; }
.tpl-ironworks .comment-add summary {
    display: inline-block;
    cursor: pointer;
    list-style: none;
    background: var(--slate-3);
    color: var(--parchment);
    border: 1px solid var(--brass-dim);
    border-radius: 2px;
    padding: 0.25rem 0.9rem;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.tpl-ironworks .comment-add summary::-webkit-details-marker { display: none; }
.tpl-ironworks .comment-add form { padding: 0.5rem; display: flex; flex-direction: column; gap: 0.4rem; text-align: left; }
.tpl-ironworks .comment-add input, .tpl-ironworks .comment-add textarea { width: 100%; box-sizing: border-box; }

.tpl-ironworks .poll-card {
    background: linear-gradient(180deg, var(--slate-3), var(--soot));
    color: var(--parchment);
    border: 1px solid var(--brass-dim);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .5);
}
.tpl-ironworks .poll-tag {
    background: var(--brass-dim);
    color: #fff6dd;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border-radius: 2px;
}
.tpl-ironworks .poll-option { background: rgba(233, 223, 198, .05); border-color: rgba(233, 223, 198, .12); }
.tpl-ironworks .poll-opt-name { color: var(--parchment); }
.tpl-ironworks .poll-opt-bar { background: rgba(0, 0, 0, .45); }
.tpl-ironworks .poll-opt-bar > span { background: var(--brass); }
.tpl-ironworks .poll-opt-bar.is-full > span { background: #7fbf6a; }
.tpl-ironworks .poll-by, .tpl-ironworks .poll-deadline { color: var(--parchment-2); }
.tpl-ironworks .poll-card .game-rules {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.03em;
}
.tpl-ironworks .poll-card .poll-actions .btn {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 0.2rem 0.55rem;
    border-radius: 2px;
    text-decoration: none;
    color: var(--parchment);
    background: var(--slate-3);
    border: 1px solid var(--brass-dim);
    box-shadow: none;
}
.tpl-ironworks .poll-card .poll-actions .btn:hover {
    background: #7d6418;
    color: #fff6dd;
    text-decoration: none;
}
.tpl-ironworks .poll-card .poll-actions .btn-danger {
    background: #5e2626;
    border-color: #8c3b3b;
    color: var(--parchment);
}
.tpl-ironworks .poll-card .poll-actions .btn-danger:hover { background: #8c3b3b; color: var(--parchment); }
.tpl-ironworks .poll-card .rules-good { color: #8fd6a4; }
.tpl-ironworks .poll-card .rules-mid  { color: #f0cf6a; }
.tpl-ironworks .poll-card .rules-bad  { color: #ff9d94; }

.tpl-ironworks .btn {
    background: linear-gradient(180deg, var(--parchment), var(--parchment-2));
    border: 1px solid var(--brass-dim);
    border-radius: 2px;
    color: var(--text);
    letter-spacing: 0.06em;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .3);
}
.tpl-ironworks .btn:hover { background: linear-gradient(180deg, #f4ecd8, var(--parchment)); }
.tpl-ironworks .btn-primary {
    background: linear-gradient(180deg, #8c4444, #6b2f2f);
    border-color: #a35555;
    color: var(--parchment);
}
.tpl-ironworks .btn-primary:hover { background: linear-gradient(180deg, #a35050, #7d3b3b); }
.tpl-ironworks .btn-danger {
    background: linear-gradient(180deg, #a03636, #7a2626);
    border-color: #b84a4a;
    color: var(--parchment);
}
.tpl-ironworks .btn-danger:hover { background: linear-gradient(180deg, #b84040, #922f2f); }

.tpl-ironworks input, .tpl-ironworks select, .tpl-ironworks textarea {
    background: #f3ecda;
    border: 1px solid var(--parchment-3);
    border-radius: 2px;
    color: var(--text);
}
.tpl-ironworks input:focus, .tpl-ironworks select:focus, .tpl-ironworks textarea:focus {
    outline: none;
    border-color: var(--brass);
    box-shadow: 0 0 0 3px rgba(201, 162, 39, .28);
}

.tpl-ironworks .chat-panel {
    background: linear-gradient(180deg, var(--slate-2), var(--soot));
    border-left: 2px solid var(--brass-dim);
    color: var(--parchment);
}
.tpl-ironworks .chat-msg { background: rgba(233, 223, 198, .06); border-radius: 2px; padding: 0.4rem 0.6rem; }

.tpl-ironworks .msg-ok    { background: #d8e8d4; }
.tpl-ironworks .msg-error { background: #f0dad6; }
.tpl-ironworks .msg-warn  { background: #f3e6c8; }

.tpl-ironworks .game-card.active .gc-info,
.tpl-ironworks .poll-card.active { box-shadow: 0 0 0 2px var(--brass-lit), 0 8px 22px rgba(0, 0, 0, .5); }

.tpl-ironworks .admin .tab { border-radius: 0; color: var(--parchment-2); }
.tpl-ironworks .admin .tab:hover, .tpl-ironworks .admin .tab.tab-active { color: var(--text); }
.tpl-ironworks .grid th { color: var(--text-muted); letter-spacing: 0.08em; text-transform: uppercase; }
.tpl-ironworks .tl-slot { border-radius: 2px; }


@media (max-width: 860px) {
    .tpl-ironworks .game-list { gap: 1.6rem; }
}

@media (max-width: 700px) {
    .tpl-ironworks .game-card { flex-direction: column; width: 100%; align-items:stretch;}
    .tpl-ironworks .gc-info { width: 100%; flex: 1 1 auto; }
    .tpl-ironworks .gc-players { margin-left: 0; margin-top: 0.6rem; min-width: 0; }
    .tpl-ironworks .gc-resign { margin-right: 0; }
}
