/* l4 region screens: Council Castle */

/* The Quiet Hall */
.qh-bt{font-family:var(--f-mono);font-size:11px;fill:#9DAAC0;letter-spacing:.08em}
.qh-bn{font-family:var(--f-display);font-size:40px;font-weight:700;fill:#F2B632}
.qh-nm{font-family:var(--f-display);font-size:12px;fill:#1B2437}
.qh-dots{font-family:var(--f-display);font-size:16px;font-weight:700;fill:#1B2437}
.qh-bub{animation:pop .35s ease}
.qh-dim{opacity:.34;transition:opacity 1.6s ease;pointer-events:none}
.qh-dim.up{opacity:0;animation:qhup 1.8s ease both}
@keyframes qhup{from{opacity:.55}to{opacity:0}}
.qh-tag{opacity:0;animation:qhtag .5s ease forwards}
@keyframes qhtag{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.qh-tt{font-family:var(--f-mono);font-size:10px;fill:#FFFFFF}
.qh-say{border-left:6px solid var(--accent)}
.qh-conf{font-size:clamp(16px,2.2vw,19px);margin:4px 0 0}
.qh-conf i{font-style:italic}
.qh-board .row{align-items:baseline;gap:12px}

/* The Muster Roll */
.mu-roll td{white-space:normal;text-align:left}
.mu-roll td:last-child{white-space:nowrap}

/* The Council Vote */
.cc-tally{position:relative;margin:4px 0 14px}
.cc-tally .meter{height:18px}
.cc-tally .meter>i{background:var(--good)}
.cc-tally .muted{margin-top:4px}
.cc-half{position:absolute;top:-4px;height:26px;width:0;border-left:3px dashed var(--ink)}
.cm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.cm{display:flex;flex-direction:column;gap:4px;text-align:left;border:2px solid var(--ink);border-radius:8px;background:var(--paper);padding:10px 12px;cursor:pointer;box-shadow:3px 3px 0 var(--shadow);font-size:14px;color:var(--ink)}
.cm:hover,.cm:focus-visible{border-color:var(--accent);outline:none}
.cm.on{border-color:var(--gold);background:var(--gold-soft);box-shadow:3px 3px 0 var(--gold)}
.cm.yes{border-color:var(--good)}
.cm.hard{border-color:var(--bad)}
.cm-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.cm-top b{font-family:var(--f-display);font-size:16px;font-weight:600}
.cm .pow{font-family:var(--f-mono);font-size:12px;color:var(--gold);letter-spacing:1px;white-space:nowrap}
.cm small{color:var(--ink-soft);font-size:12px}
.cm q{font-style:italic;quotes:"“" "”"}
.cm-lamp{margin:2px 0 0;font-size:13px;border-left:4px solid var(--gold);padding:2px 8px;background:color-mix(in srgb,var(--gold) 12%,var(--paper));border-radius:0 4px 4px 0}
.cm-st{gap:6px;margin-top:auto;padding-top:4px}
.cm-st .chip{font-size:12px;padding:1px 8px}
.cc-act{margin-top:12px}
.cc-for{margin:0 0 8px}
.cc-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.cc-act .btn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:8px 12px;font-size:15px}
.cc-act .btn small{font-family:var(--f-body);font-weight:400;font-size:12px;opacity:.85}
.cc-send{background:var(--paper);color:var(--ink);border-left-width:8px;border-left-color:var(--accent)}
.cc-ref ul{font-size:14px}
.cc-ref.fog{border-style:dashed;background:var(--paper)}
.cc-log{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:5px;font-size:15px}
.cc-log li.ok{color:var(--good)} .cc-log li.no{color:var(--bad)} .cc-log li.muted{color:var(--ink-soft)}

/* Vote reveal */
.vt{margin-top:14px}
.vt-bar{position:relative;display:flex;height:26px;border:2px solid var(--ink);border-radius:6px;overflow:hidden;background:var(--paper)}
.vt-bar i{display:block;height:100%;background:var(--good);border-right:2px solid var(--paper);transform-origin:left;animation:vtgrow .5s ease both}
.vt-bar .cc-half{top:0;height:100%}
@keyframes vtgrow{from{transform:scaleX(0)}}
.vt-verdict{font-family:var(--f-display);font-size:clamp(20px,3.4vw,28px);font-weight:700;margin:10px 0 0;opacity:0;animation:pop .5s ease forwards}
.vc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:14px}
.vc{border:2px solid var(--rule);border-radius:8px;padding:10px 12px;background:var(--paper);display:flex;flex-direction:column;gap:3px;opacity:0;animation:vcin .5s ease forwards}
.vc.yes{border-color:var(--good)} .vc.no{border-color:var(--bad)}
.vc b{font-family:var(--f-display)}
.vc small{color:var(--ink-soft);font-size:12px}
.vc p{margin:0}
.vc-card{align-self:flex-start;font-family:var(--f-display);font-weight:700;font-size:20px;padding:4px 12px;border:2px solid var(--ink);border-radius:4px;background:var(--paper-2);display:flex;flex-direction:column;line-height:1.1;transform-origin:bottom;animation:vcraise .5s cubic-bezier(.2,1.5,.4,1) both;animation-delay:inherit}
.vc-card small{font-family:var(--f-mono);font-size:10px;color:var(--gold)}
.vc.yes .vc-card{background:color-mix(in srgb,var(--good) 22%,var(--paper));color:var(--good);border-color:var(--good)}
.vc.no .vc-card{background:color-mix(in srgb,var(--bad) 16%,var(--paper));color:var(--bad);border-color:var(--bad)}
@keyframes vcin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes vcraise{from{transform:translateY(16px) scaleY(.4)}}
.l4g>*{min-width:0}
