/* Tabuleiro, telas de passe, papel secreto, cartas de política, vitória */
/* Board */
.track{margin:0}
.track .th{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.track .th b{font-family:"Barlow Condensed",sans-serif;font-size:1.2rem}
.track.L .th b{color:var(--party-l)}
.track.B .th b{color:var(--party-b)}
.slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;list-style:none;margin:0;padding:0}
.slot{aspect-ratio:3/4;border:2px dashed var(--slot-line);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;padding:4px;font-size:.66rem;line-height:1.15;font-weight:700;overflow:hidden;color:var(--muted);max-width:100%}
.slot .pw{display:flex}
.slot small{font-size:.62rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.slot.next{border-style:solid;border-color:var(--ink);color:var(--ink)}
/* Política aprovada: faixa embaixo (branca para o primeiro partido, amarela para o segundo) e o nome centralizado */
.track.L .slot.full,.track.B .slot.full{align-items:center;justify-content:center;text-align:center;padding:4px 4px 11px}
.slot.full span{font:600 .68rem/1.2 "Barlow",system-ui,sans-serif;letter-spacing:.01em;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.track.L .slot.full{background:var(--party-l);border:2px solid var(--party-l);color:#fff;box-shadow:inset 0 -7px 0 var(--party-l-stripe)}
.track.B .slot.full{background:var(--party-b);border:2px solid var(--party-b);color:#fff;box-shadow:inset 0 -7px 0 var(--party-b-stripe)}
@media (min-width:1000px){.slot.full span{font-size:.82rem}}

.note{background:var(--screen);border-left:5px solid var(--warn);border-radius:8px;padding:.7rem .9rem;margin:0 0 14px;font-weight:500}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.votes{list-style:none;padding:0;margin:10px 0 14px}
.votes li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:.45rem 0;border-bottom:1px solid var(--line)}
.yn{display:flex;gap:6px}
.yn button{min-width:64px;min-height:44px;border-radius:10px;border:2px solid var(--line);background:none;font-weight:700}
.yn button.on{background:var(--key);color:var(--key-ink);border-color:var(--key)}

/* Gate & role */
.gate{text-align:center;padding:30px 18px}
.gate .ico{font-size:3rem;line-height:1;margin-bottom:10px}
.gate h2{font-size:2.4rem;margin:.3rem 0 .6rem;word-break:break-word}
.urna{background:var(--screen);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:0 0 14px}
.urna .bar{display:flex;justify-content:space-between;padding:.55rem 1rem;font-size:.85rem;color:var(--muted);border-bottom:1px solid var(--line)}
.urna .body{padding:22px 18px}
.urna .camp{font-size:clamp(2.4rem,12vw,3.4rem)}
.urna.L .camp{color:var(--party-l)}
.urna.B .camp{color:var(--party-b)}
.urna.L{border-top:8px solid var(--party-l);box-shadow:inset 0 8px 0 var(--party-l-stripe)}
.urna.B{border-top:8px solid var(--party-b);box-shadow:inset 0 8px 0 var(--party-b-stripe)}
.mates{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.mates ul{list-style:none;padding:0;margin:6px 0;display:grid;gap:4px}
.mates li{font-weight:700;display:flex;align-items:center;gap:8px}
.mates .badge{margin:0}
.badge{display:inline-block;background:var(--gold);color:#1c1c1a;font-weight:700;border-radius:6px;padding:.15rem .55rem;margin-bottom:8px}

/* Policy cards */
.pol{display:block;width:100%;text-align:left;background:var(--screen);border:2px solid var(--line);border-left-width:10px;border-radius:10px;padding:.8rem 1rem;margin:0}
.pol.L{border-left-color:var(--party-l)}
.pol.B{border-left-color:var(--party-b)}
.pol .who{font-size:.85rem;font-weight:700}
.pol.L .who{color:var(--party-l)}
.pol.B .who{color:var(--party-b)}
.pol .t{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:800;font-size:1.4rem;line-height:1.1;margin:.15rem 0}
.pol .d{display:block;color:var(--muted);font-size:.93rem}
button.pol:active{transform:scale(.99)}
.polw{position:relative}
.polw .pol{padding-right:3.4rem}
.info{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:9px;border:0;background:var(--ok);color:var(--screen);display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 2px 0 color-mix(in srgb,var(--ok) 55%,#000);transition:transform .06s,filter .12s}
.info:hover{filter:brightness(1.1)}
.info:active{transform:translateY(2px);box-shadow:none}
.pol.big .t{font-size:2rem}
.announce{animation:pop .35s ease-out}
@keyframes pop{from{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion: reduce){.announce{animation:none}.key{transition:none}}

.winner{padding:26px 18px;border-radius:14px;color:#fff;margin:0 0 14px}
.winner.L{background:var(--party-l);box-shadow:inset 0 -10px 0 var(--party-l-stripe)}
.winner.B{background:var(--party-b);box-shadow:inset 0 -10px 0 var(--party-b-stripe)}
.winner h2{font-size:2.6rem}
.roles{list-style:none;padding:0;margin:8px 0 0}
.roles li{display:flex;justify-content:space-between;gap:10px;padding:.45rem 0;border-bottom:1px solid var(--line)}
.roles .L{color:var(--party-l);font-weight:700}
.roles .B{color:var(--party-b);font-weight:700}

details{background:var(--screen);border:1px solid var(--line);border-radius:14px;padding:.2rem 1rem;margin:0 0 14px}
summary{font-weight:700;padding:.75rem 0;cursor:pointer}
details ul,details ol{padding-left:1.2rem;margin:.2rem 0 .9rem}
details li{margin:.3rem 0}
.tools{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px max(16px,calc((100% - 1180px)/2));background:var(--casing);border-bottom:1px solid var(--line)}
.tools .brand{display:flex;align-items:center;gap:8px;font:800 1.25rem "Barlow Condensed",sans-serif;letter-spacing:.02em;min-width:0}
.tools .tbtns{display:flex;gap:6px}
.tools .plain{min-height:44px;padding:0 .8rem;background:var(--screen);font-weight:600;font-size:.92rem}
.tools .ico{width:44px;padding:0;display:inline-flex;align-items:center;justify-content:center}
#theme:not([data-mode="auto"]) .m-auto,#theme:not([data-mode="light"]) .m-light,#theme:not([data-mode="dark"]) .m-dark{display:none}
.snd[aria-pressed="true"] .off,.snd[aria-pressed="false"] .on{display:none}
@media (max-width:440px){.tools .brand span{display:none}}
@media (max-width:420px){.tools .brand{display:none}.tools{justify-content:flex-end}}
@media (max-width:440px){.tools .tbtns{gap:4px}.tools .plain{padding:0 .5rem;font-size:.84rem}.tools .ico{width:42px}}
@media (max-width:360px){.tools .plain{padding:0 .4rem;font-size:.78rem}.tools .ico{width:38px}}
