/* Official logo palette: sky blue, blue lettering, and warm rainbow accents. */
.yuruverse-banner,.yuruverse-character{
  position:relative;isolation:isolate;display:grid;grid-template-columns:180px minmax(0,1fr);
  align-items:center;gap:.85rem 1.3rem;margin:0 0 1.2rem;padding:1.6rem 1.3rem 1.3rem;
  border:2px solid #51b8e0;border-radius:22px;
  background:linear-gradient(155deg,#e3f7ff 0%,#fff 50%,#fffdd8 100%);
  box-shadow:0 5px 0 #c4e9f5,0 9px 22px #28689417;color:#163f65;
}
.yuruverse-banner::before,.yuruverse-character::before{
  content:"";position:absolute;top:0;left:18px;right:18px;height:6px;border-radius:0 0 8px 8px;
  background:linear-gradient(90deg,#55b8df 0% 20%,#f7d954 20% 40%,#f59435 40% 60%,#ea8595 60% 80%,#94bd53 80%);
}
.yuruverse-brand{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0}
.yuruverse-logo{display:block;width:100%;max-width:180px;height:auto;object-fit:contain}
.yuruverse-brand-caption{display:flex;flex-direction:column;align-items:center;gap:.1rem;text-align:center;color:#075e9e;line-height:1.3}
.yuruverse-brand-caption>span{font-size:13px;font-weight:800}
.yuruverse-brand-caption>strong{display:block;padding:.05rem .95rem;border-radius:999px;background:#fff9bd;border:1px solid #f2d975;font-size:27px;font-weight:900;letter-spacing:.07em}
.yuruverse-copy{grid-column:2;min-width:0;text-align:center}
.yuruverse-status{display:inline-block;padding:.3rem .8rem;border-radius:999px;background:#096baf;color:#fff;font-size:13px;font-weight:900;line-height:1.5}
.yuruverse-banner h2,.yuruverse-character h2{display:flex;flex-wrap:wrap;justify-content:center;margin:.65rem 0 .5rem;color:#075e9e;font-size:25px;font-weight:900;line-height:1.5;text-align:center}
.yuruverse-heading-part{display:block;flex:0 1 auto;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;text-wrap:wrap}
.yuruverse-vote-rule{display:inline-block;white-space:nowrap}
.yuruverse-banner p,.yuruverse-character p{margin:.35rem 0;color:#36566c;font-size:15px;line-height:1.75;overflow-wrap:anywhere}
.yuruverse-deadline{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem .6rem;align-items:baseline;margin-top:.6rem}
.yuruverse-deadline time{padding:0 .15rem;box-shadow:inset 0 -.45em #fff2a9;color:#174d7c;font-size:17px;font-weight:900;line-height:1.6}
.yuruverse-deadline>span{font-size:13px;color:#436073;line-height:1.6}
.yuruverse-actions{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem .7rem;min-width:0}
.yuruverse-primary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:52px;max-width:100%;padding:.75rem 1.15rem;border:2px solid #0865a6;border-radius:999px;background:linear-gradient(115deg,#0976bb,#075e9e);box-shadow:0 4px 0 #c1e9f8;color:#fff;font-size:16px;font-weight:900;text-align:center;text-decoration:none;line-height:1.5;overflow-wrap:anywhere}
.yuruverse-primary>span{color:#fff5b0;font-size:20px;flex-shrink:0}
.yuruverse-primary:hover{background:#07518a;color:#fff;box-shadow:0 4px 0 #a5d9ed}
.yuruverse-guide{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.35rem .5rem;color:#075e9e;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:.25em;line-height:1.5}
.yuruverse-banner a:focus-visible,.yuruverse-character a:focus-visible{outline:3px solid #173b64;outline-offset:4px}
.yuruverse-confetti{position:absolute;inset:0;overflow:hidden;border-radius:20px;z-index:-1;pointer-events:none}
.yuruverse-confetti i{position:absolute;display:block;width:7px;height:14px;background:#e8a0aa;transform:rotate(-22deg)}
.yuruverse-confetti i:nth-child(1){top:13px;left:10px;width:auto;height:auto;background:none;color:#e3b82b;font-size:23px;font-style:normal}
.yuruverse-confetti i:nth-child(2){top:24px;right:14px;background:#80b9d8;transform:rotate(24deg)}
.yuruverse-confetti i:nth-child(3){bottom:19px;left:14px;background:#94bd53;transform:rotate(30deg)}
.yuruverse-confetti i:nth-child(4){bottom:8px;right:11px;width:auto;height:auto;background:none;color:#efb92a;font-size:27px;font-style:normal}
.yuruverse-confetti i:nth-child(5){top:47%;left:8px;height:10px}
.yuruverse-confetti i:nth-child(6){bottom:8px;left:44%;height:8px;background:#51b8e0;transform:rotate(18deg)}
.yuruverse-banner.is-ended{border-color:#93bccf;background:linear-gradient(145deg,#edf8fc,#fff)}
.is-ended .yuruverse-status{background:#49677b}
.is-ended .yuruverse-confetti{display:none}
.yuruverse-banner.is-results{background:linear-gradient(145deg,#e6f7ff,#fffef0 60%,#fff2c2)}
.is-results .yuruverse-status{background:#8a5410}
.yuruverse-character{grid-template-columns:140px minmax(0,1fr);gap:.7rem 1.2rem;margin:1rem 0 1.5rem}
.yuruverse-character .yuruverse-logo{max-width:140px}
.yuruverse-character h2{font-size:23px}
.yuruverse-podium{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.3rem 0 0;padding:0;list-style:none}
.yuruverse-podium li{display:grid;gap:.3rem;padding:.8rem;border:1px solid #b3dcee;border-radius:14px;background:#fffffff2}
.yuruverse-podium b{color:#8a5410;font-size:20px}
.yuruverse-podium strong{font-size:16px;overflow-wrap:anywhere}
.yuruverse-podium span{font-size:14px;color:#436073}
[data-yuruverse][hidden]{display:none!important}
@media(max-width:1000px){
  .yuruverse-banner{grid-template-columns:150px minmax(0,1fr);gap:.85rem 1rem}
  .yuruverse-banner h2{font-size:23px}
}
@media(max-width:560px){
  .yuruverse-banner,.yuruverse-character{grid-template-columns:minmax(0,1fr);gap:.9rem;padding:1.25rem 1rem 1rem;border-radius:19px}
  .yuruverse-brand{grid-column:1;grid-row:auto;flex-direction:row;justify-content:center;gap:1rem}
  .yuruverse-logo{width:146px;max-width:47%}
  .yuruverse-character .yuruverse-logo{width:122px;max-width:43%}
  .yuruverse-brand-caption>span{font-size:12px}
  .yuruverse-brand-caption>strong{font-size:28px}
  .yuruverse-copy,.yuruverse-actions{grid-column:1}
  .yuruverse-banner h2,.yuruverse-character h2{font-size:clamp(19px,5.6vw,23px)}
  .yuruverse-actions{flex-direction:column;align-items:stretch;gap:.4rem}
  .yuruverse-primary{width:100%;padding:.7rem .8rem;font-size:16px}
  .yuruverse-podium{grid-template-columns:1fr}
  .yuruverse-podium li{grid-template-columns:38px minmax(0,1fr) auto;align-items:center}
}
