
/* =====================================================================
   SASAWA STAFF AWARD V9 — unified Vote + Result visual language
   New layout only. Existing logic/animations remain intact.
   ===================================================================== */

:root{
  --sasawa-gold:#ffd76a;
  --sasawa-gold2:#fff0a8;
  --sasawa-cyan:#35e8ff;
  --sasawa-bg:#050607;
  --sasawa-panel:#071018;
}

/* ------------------------------ VOTE ------------------------------ */
#voteScreen{
  max-width:460px!important;
  min-height:calc(100vh - 32px);
  padding:0 4px 22px!important;
  color:#fff9ec;
  background:
    radial-gradient(circle at 50% 46%,rgba(53,232,255,.065),transparent 23%),
    radial-gradient(circle at 50% 16%,rgba(255,215,106,.07),transparent 28%),
    linear-gradient(180deg,#050606 0%,#040506 58%,#070604 100%)!important;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
#voteScreen:before{
  content:"";
  position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.60;
  background:
    linear-gradient(90deg,transparent 0 10%,rgba(255,215,106,.08) 10% 10.25%,transparent 10.25% 22%,rgba(53,232,255,.055) 22% 22.25%,transparent 22.25% 78%,rgba(53,232,255,.055) 78% 78.25%,transparent 78.25% 90%,rgba(255,215,106,.08) 90% 90.25%,transparent 90.25% 100%),
    linear-gradient(180deg,transparent 0 31%,rgba(255,215,106,.04) 31% 31.2%,transparent 31.2% 66%,rgba(255,215,106,.04) 66% 66.2%,transparent 66.2%);
}
#voteScreen:after{
  content:"";
  position:absolute;inset:62% 0 0;z-index:-1;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,215,106,.05) 24px 25px,transparent 25px 48px),
    linear-gradient(180deg,transparent,rgba(255,185,51,.045));
  mask-image:linear-gradient(180deg,transparent,#000 25%);
}

#voteScreen .tech-vote-header{padding:4px 3px 8px}
#voteScreen .tech-brand-row{
  display:flex;justify-content:space-between;align-items:flex-start;
  color:#e9ddc5;font-size:9px;letter-spacing:.28em;line-height:1.35;
  padding:0 8px 9px;text-transform:uppercase;
}
#voteScreen .tech-brand-row span:last-child{text-align:right;color:#a9a091}
#voteScreen .tech-title-panel{
  height:66px;margin:0 auto 8px;width:88%;display:grid;place-items:center;position:relative;
  color:var(--sasawa-gold2);
  background:linear-gradient(180deg,rgba(8,25,34,.90),rgba(4,9,13,.94));
  border:1px solid rgba(255,215,106,.55);
  clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%);
  box-shadow:0 0 22px rgba(255,215,106,.14),inset 0 0 28px rgba(53,232,255,.07);
}
#voteScreen .tech-title-panel:before,
#voteScreen .tech-title-panel:after{
  content:"";position:absolute;top:50%;height:2px;width:44px;
  background:linear-gradient(90deg,transparent,var(--sasawa-cyan));
  box-shadow:0 0 7px var(--sasawa-cyan)
}
#voteScreen .tech-title-panel:before{right:96%;transform:translateY(-50%)}
#voteScreen .tech-title-panel:after{left:96%;transform:translateY(-50%) rotate(180deg)}
#voteScreen .tech-title-panel strong{
  font-size:28px;letter-spacing:.08em;font-weight:950;
  text-shadow:0 0 14px rgba(255,215,106,.35)
}
#voteScreen .tech-subtitle{
  text-align:center;margin:0 0 14px;color:#8f8a81;
  font-size:9px;letter-spacing:.30em;text-transform:uppercase
}

#voteScreen .vote-top{position:absolute;right:7px;top:3px;z-index:40}
#voteScreen .vote-kicker{display:none!important}
#voteScreen #exitVote{
  font-size:9px;color:#746e64!important;border:1px solid rgba(255,215,106,.14);
  padding:5px 7px!important;border-radius:8px;background:rgba(7,8,8,.55)
}

#voteScreen .candidate-row{
  margin:0 5px 8px!important;gap:9px!important;position:relative;z-index:3
}
#voteScreen .candidate{padding:2px 0 0!important}
#voteScreen .avatar{
  width:min(27vw,116px)!important;
  border-radius:13px!important;
  border:2px solid var(--sasawa-gold)!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(53,232,255,.26),rgba(0,85,136,.24) 42%,rgba(4,18,28,.92) 76%)!important;
  box-shadow:
    0 0 0 3px rgba(255,215,106,.08),
    0 0 11px rgba(255,215,106,.50),
    inset 0 0 18px rgba(53,232,255,.18)!important;
  clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);
}
#voteScreen .avatar:before{
  content:"";position:absolute;inset:4px;border:1px solid rgba(255,238,174,.28);
  clip-path:inherit;pointer-events:none;z-index:3
}
#voteScreen .avatar:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,transparent 0 38%,rgba(53,232,255,.17) 39% 40%,transparent 41% 49%,rgba(53,232,255,.10) 50% 51%,transparent 52%),
    conic-gradient(from 0deg,transparent 0 7%,rgba(53,232,255,.10) 7% 9%,transparent 9% 20%,rgba(53,232,255,.08) 20% 22%,transparent 22% 100%);
}
#voteScreen .avatar>img{
  border-radius:11px!important;filter:saturate(.94) brightness(.94)!important;z-index:2
}
#voteScreen .candidate-name{
  margin-top:3px;font-size:11px!important;line-height:1.2!important;min-height:27px!important;
  letter-spacing:.04em;color:#f5efe5;font-weight:700!important;text-transform:uppercase
}
#voteScreen .card-bank{margin-top:1px!important;min-height:15px!important}

#voteScreen .vote-round{
  width:154px;height:112px;margin:2px auto 2px!important;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff!important;position:relative;letter-spacing:0!important;
  border-bottom:1px solid rgba(255,215,106,.36);
  background:radial-gradient(circle at 50% 82%,rgba(255,215,106,.11),transparent 58%)
}
#voteScreen .vote-round:before,
#voteScreen .vote-round:after{
  content:"";position:absolute;inset:2px 18px 11px;border-radius:50%;
  border-left:1px solid rgba(53,232,255,.35);
  border-right:1px solid rgba(255,215,106,.48);
  pointer-events:none
}
#voteScreen .vote-round:after{inset:10px 28px 18px;border-color:rgba(255,215,106,.22)}
#voteScreen .vote-round span{
  font-size:17px;letter-spacing:.30em;margin-left:.30em;color:#eee7d8;z-index:2
}
#voteScreen .vote-round strong{
  display:block;font-size:48px;line-height:1;color:var(--sasawa-gold2);font-weight:900;
  text-shadow:0 0 14px rgba(255,215,106,.26);z-index:2
}

#voteScreen .award-card{
  min-height:0!important;padding:0 3px 4px!important;margin:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
#voteScreen .award-card h2{
  margin:0 0 5px!important;font-size:22px!important;letter-spacing:.10em;font-weight:800!important;
  text-transform:uppercase;color:#f7f1e7
}
#voteScreen .criterion-copy{display:none!important}
#voteScreen .stage{
  height:210px!important;margin:0!important;display:grid;place-items:center;overflow:visible
}
#voteScreen .stage:before{
  width:220px!important;height:72px!important;top:84%!important;
  background:radial-gradient(ellipse,rgba(var(--stage-rgb),.35),rgba(255,215,106,.08) 38%,transparent 72%)!important;
  filter:blur(7px)!important
}
#voteScreen .podium{
  bottom:18px!important;width:190px!important;height:38px!important;
  border:1px solid rgba(53,232,255,.22)!important;border-bottom:2px solid rgba(255,215,106,.68)!important;
  background:radial-gradient(ellipse,rgba(255,215,106,.18),transparent 70%)!important;
  box-shadow:0 0 15px rgba(255,215,106,.12)
}

/* Card — shaped like reference image 3 */
#voteScreen .energy-vote-card{
  width:110px!important;height:154px!important;border-radius:0!important;
  clip-path:polygon(11px 0,calc(100% - 11px) 0,100% 11px,100% calc(100% - 11px),calc(100% - 11px) 100%,11px 100%,0 calc(100% - 11px),0 11px)!important;
  background:
    linear-gradient(132deg,rgba(255,255,255,.22),transparent 24%,transparent 68%,rgba(255,215,106,.08)),
    radial-gradient(circle at 50% 43%,color-mix(in srgb,currentColor 14%,transparent),transparent 42%),
    linear-gradient(160deg,rgba(10,20,28,.86),rgba(2,6,10,.90) 52%,rgba(8,20,27,.84))!important;
  border:0!important;
  box-shadow:0 0 13px currentColor,0 0 32px color-mix(in srgb,currentColor 42%,transparent),0 0 56px rgba(255,215,106,.08)!important;
}
#voteScreen .energy-vote-card:before{
  inset:2px!important;border:2px solid currentColor!important;border-radius:0!important;
  clip-path:inherit!important;
  box-shadow:0 0 8px currentColor,inset 0 0 12px color-mix(in srgb,currentColor 18%,transparent)!important;
  animation:none!important
}
#voteScreen .energy-vote-card:after{
  inset:9px!important;border:1px solid color-mix(in srgb,currentColor 54%,transparent)!important;
  clip-path:inherit!important;border-radius:0!important;
  background:
    radial-gradient(circle at 18% 20%,currentColor 0 1px,transparent 1.8px),
    radial-gradient(circle at 82% 22%,#fff 0 1px,transparent 1.8px),
    radial-gradient(circle at 20% 78%,#fff 0 1px,transparent 1.8px),
    radial-gradient(circle at 80% 78%,currentColor 0 1px,transparent 1.8px),
    linear-gradient(90deg,transparent 0 14%,color-mix(in srgb,currentColor 48%,transparent) 14% 15%,transparent 15% 37%,rgba(255,255,255,.12) 37% 38%,transparent 38% 70%,color-mix(in srgb,currentColor 40%,transparent) 70% 71%,transparent 71%),
    linear-gradient(180deg,transparent 0 17%,color-mix(in srgb,currentColor 45%,transparent) 17% 18%,transparent 18% 44%,rgba(255,255,255,.10) 44% 45%,transparent 45% 74%,color-mix(in srgb,currentColor 35%,transparent) 74% 75%,transparent 75%),
    radial-gradient(circle at 50% 43%,transparent 0 31%,color-mix(in srgb,currentColor 28%,transparent) 32% 33%,transparent 34% 40%,color-mix(in srgb,currentColor 18%,transparent) 41% 42%,transparent 43%)!important;
  opacity:.95!important;animation:none!important
}
#voteScreen .energy-card-mark{
  width:auto!important;height:auto!important;border:0!important;background:none!important;box-shadow:none!important;
  color:#fffdf0!important;font-size:15px!important;letter-spacing:.18em!important;
  text-shadow:0 0 6px #fff,0 0 15px currentColor,0 0 24px currentColor!important
}
#voteScreen .energy-card-core small{
  color:#efe9dc!important;font-size:9px!important;letter-spacing:.22em!important;font-weight:700!important;
  text-shadow:0 0 9px currentColor!important
}
#voteScreen .tap-hint{
  margin:0 0 5px!important;color:#8d887f!important;font-size:9px!important;letter-spacing:.18em!important
}

#voteScreen .tech-round-progress{
  display:flex;align-items:flex-start;justify-content:center;gap:0;margin:7px auto 0;width:80%
}
#voteScreen .tech-round-progress span{
  width:20%;position:relative;text-align:center;color:#706c67;font-size:9px;padding-top:25px
}
#voteScreen .tech-round-progress span:before{
  content:"";position:absolute;left:50%;top:2px;width:19px;height:19px;border-radius:50%;
  transform:translateX(-50%);border:2px solid #64666a;background:#08090a;z-index:2
}
#voteScreen .tech-round-progress span:not(:last-child):after{
  content:"";position:absolute;left:62%;right:-38%;top:11px;height:1px;background:#4e5053
}
#voteScreen .tech-round-progress span.active{color:#f5dd99}
#voteScreen .tech-round-progress span.active:before{
  border-color:var(--sasawa-gold);box-shadow:0 0 10px var(--sasawa-gold);background:#fff0a8
}

@media(max-width:390px){
  #voteScreen .tech-title-panel{height:58px}
  #voteScreen .tech-title-panel strong{font-size:24px}
  #voteScreen .avatar{width:min(26.4vw,102px)!important}
  #voteScreen .vote-round{height:98px}
  #voteScreen .vote-round strong{font-size:42px}
  #voteScreen .stage{height:192px!important}
  #voteScreen .energy-vote-card{width:98px!important;height:138px!important}
}

/* ------------------------------ RESULTS ------------------------------ */
#sasawa-award-results{
  background:#040506!important;min-height:100vh
}
#sasawa-award-results .result-shell{
  max-width:460px!important;min-height:100vh!important;padding:12px 10px 28px!important;border-radius:0!important;
  background:
    radial-gradient(circle at 50% 61%,rgba(255,215,106,.07),transparent 28%),
    radial-gradient(circle at 50% 16%,rgba(53,232,255,.045),transparent 23%),
    linear-gradient(180deg,#050606,#040505 64%,#070604)!important;
  overflow:hidden!important
}
#sasawa-award-results .result-shell:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(90deg,rgba(255,215,106,.08) 1px,transparent 1px) 7% 0/44px 100%,
    linear-gradient(180deg,transparent 0 21%,rgba(255,215,106,.04) 21% 21.2%,transparent 21.2% 69%,rgba(53,232,255,.03) 69% 69.2%,transparent 69.2%);
  opacity:.44
}
#sasawa-award-results .result-shell>*{position:relative;z-index:2}

#sasawa-award-results .kicker{display:none!important}
#sasawa-award-results .result-tech-header{
  text-align:center;margin:0 6px 6px
}
#sasawa-award-results .result-brand-row{
  display:flex;justify-content:space-between;align-items:flex-start;color:#e9ddc5;
  font-size:8px;letter-spacing:.25em;line-height:1.35;padding:0 6px 8px
}
#sasawa-award-results .result-brand-row span:last-child{text-align:right;color:#9d968a}
#sasawa-award-results .result-title-panel{
  min-height:70px;display:grid;place-items:center;padding:7px 22px;margin:0 auto 7px;width:94%;
  color:var(--sasawa-gold2);
  background:linear-gradient(180deg,rgba(8,25,34,.90),rgba(4,9,13,.94));
  border:1px solid rgba(255,215,106,.52);
  clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);
  box-shadow:0 0 22px rgba(255,215,106,.12),inset 0 0 30px rgba(53,232,255,.06)
}
#sasawa-award-results .result-title-panel strong{
  font-size:19px;letter-spacing:.055em;line-height:1.18;text-transform:uppercase
}
#sasawa-award-results .result-subline{
  margin:0;color:#8f8a81;font-size:8px;letter-spacing:.27em;text-transform:uppercase
}
#sasawa-award-results .status{
  margin:8px 0 9px!important;color:#f4eee3!important;font-size:20px!important;letter-spacing:.08em!important;
  min-height:25px!important;font-weight:500
}
#sasawa-award-results .reveal-sound{
  position:absolute;right:6px;top:8px;z-index:50;min-height:auto!important;padding:5px 7px!important;
  font-size:8px!important;opacity:.58
}

#sasawa-award-results .nominees{
  gap:7px!important;margin-top:2px!important;align-items:start!important
}
#sasawa-award-results .nominee{padding:2px 0 0!important}
#sasawa-award-results .avatar{
  width:min(27vw,116px)!important;height:min(27vw,116px)!important;
  border-radius:12px!important;border:2px solid var(--sasawa-gold)!important;
  clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);
  background:radial-gradient(circle at 50% 46%,rgba(53,232,255,.26),rgba(0,85,136,.22) 44%,rgba(4,18,28,.92) 77%)!important;
  box-shadow:0 0 0 3px rgba(255,215,106,.08),0 0 12px rgba(255,215,106,.45),inset 0 0 16px rgba(53,232,255,.15)!important
}
#sasawa-award-results .avatar>span:first-child,
#sasawa-award-results .avatar img{border-radius:10px!important}
#sasawa-award-results .avatar:before{
  content:"";position:absolute;inset:4px;border:1px solid rgba(255,238,174,.27);clip-path:inherit;pointer-events:none;z-index:3
}
#sasawa-award-results .name{
  font-size:10px!important;line-height:1.16!important;letter-spacing:.03em!important;white-space:normal!important;
  min-height:25px;color:#f5efe5;font-weight:700!important
}
#sasawa-award-results .role{display:none!important}

#sasawa-award-results .energy-stack{
  width:100%!important;margin:4px auto 0!important;gap:4px!important;padding-left:19px;padding-right:21px
}
#sasawa-award-results .energy-row{
  height:9px!important;overflow:visible!important;border-radius:999px!important;
  background:rgba(255,255,255,.025)!important;border:1px solid rgba(255,255,255,.22)!important;
  position:relative
}
#sasawa-award-results .energy-row:before{
  content:attr(data-label)!important;left:-18px!important;top:50%!important;width:13px!important;height:13px!important;
  display:grid!important;place-items:center!important;font-size:7px;color:#ddd;border:2px solid var(--row-color)!important;
  background:#050607!important;box-shadow:0 0 8px color-mix(in srgb,var(--row-color) 60%,transparent)!important
}
#sasawa-award-results .energy-row:after{
  content:attr(data-score);position:absolute;right:-19px;top:50%;transform:translateY(-50%);
  color:#aaa;font-size:8px;font-weight:700
}
#sasawa-award-results .energy-row i{
  border-radius:999px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--row-color) 42%,transparent),var(--row-color),#fff4c3)!important;
  box-shadow:0 0 9px var(--row-color)!important
}
#sasawa-award-results .score-row{
  margin:5px 20px 0!important;width:auto!important;min-height:18px!important;padding:2px 6px!important;border-radius:6px!important
}
#sasawa-award-results .score-label{font-size:7px!important}
#sasawa-award-results .score{font-size:13px!important}

#sasawa-award-results .reveal-card{
  margin:12px auto 0!important;min-height:300px!important;padding:6px 7px 0!important;
  max-width:100%!important;background:transparent!important;border:0!important;box-shadow:none!important;
  display:flex;flex-direction:column
}
#sasawa-award-results .round-title{
  order:0;margin:0 0 1px!important;font-size:16px!important;letter-spacing:.10em!important;
  text-transform:uppercase;color:#f6f1e8
}
#sasawa-award-results .round-copy{
  order:2;margin:3px 0 0!important;color:#c4bcae!important;font-size:10px!important;letter-spacing:.12em!important
}
#sasawa-award-results .round-total{display:none!important}
#sasawa-award-results .star-stage{
  order:1;height:220px!important;margin-top:0;overflow:visible!important
}
#sasawa-award-results .podium{
  bottom:8px!important;width:230px!important;height:48px!important;border:1px solid rgba(53,232,255,.20)!important;
  border-bottom:2px solid rgba(255,215,106,.60)!important;background:radial-gradient(ellipse,rgba(255,215,106,.18),transparent 70%)!important;
  box-shadow:0 0 18px rgba(255,215,106,.10),0 0 20px rgba(53,232,255,.07)
}

/* Results card: reference #3, color driven by the current round */
#sasawa-award-results .energy-result-card{
  width:104px!important;height:148px!important;border-radius:0!important;
  clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)!important;
  background:
    linear-gradient(132deg,rgba(255,255,255,.20),transparent 25%,transparent 67%,rgba(255,215,106,.08)),
    radial-gradient(circle at 50% 42%,color-mix(in srgb,currentColor 16%,transparent),transparent 42%),
    linear-gradient(160deg,rgba(9,18,25,.88),rgba(2,5,8,.93) 53%,rgba(8,18,24,.86))!important;
  border:0!important;
  box-shadow:0 0 13px currentColor,0 0 32px color-mix(in srgb,currentColor 42%,transparent),0 0 58px color-mix(in srgb,currentColor 18%,transparent)!important;
  filter:drop-shadow(0 0 8px currentColor)!important
}
#sasawa-award-results .energy-result-card:before{
  inset:2px!important;border:2px solid currentColor!important;border-radius:0!important;clip-path:inherit!important;
  box-shadow:0 0 8px currentColor,inset 0 0 12px color-mix(in srgb,currentColor 18%,transparent)!important
}
#sasawa-award-results .energy-result-card:after{
  inset:9px!important;border:1px solid color-mix(in srgb,currentColor 54%,transparent)!important;border-radius:0!important;clip-path:inherit!important;
  background:
    radial-gradient(circle at 18% 20%,currentColor 0 1px,transparent 1.8px),
    radial-gradient(circle at 82% 22%,#fff 0 1px,transparent 1.8px),
    radial-gradient(circle at 20% 78%,#fff 0 1px,transparent 1.8px),
    radial-gradient(circle at 80% 78%,currentColor 0 1px,transparent 1.8px),
    linear-gradient(90deg,transparent 0 14%,color-mix(in srgb,currentColor 48%,transparent) 14% 15%,transparent 15% 37%,rgba(255,255,255,.12) 37% 38%,transparent 38% 70%,color-mix(in srgb,currentColor 40%,transparent) 70% 71%,transparent 71%),
    linear-gradient(180deg,transparent 0 17%,color-mix(in srgb,currentColor 45%,transparent) 17% 18%,transparent 18% 44%,rgba(255,255,255,.10) 44% 45%,transparent 45% 74%,color-mix(in srgb,currentColor 35%,transparent) 74% 75%,transparent 75%),
    radial-gradient(circle at 50% 42%,transparent 0 31%,color-mix(in srgb,currentColor 28%,transparent) 32% 33%,transparent 34% 40%,color-mix(in srgb,currentColor 18%,transparent) 41% 42%,transparent 43%)!important;
  opacity:.96!important
}
#sasawa-award-results .energy-result-core{width:78%!important;height:76%!important}
#sasawa-award-results .energy-result-core b{
  width:auto!important;height:auto!important;border:0!important;background:none!important;
  font-size:12px!important;letter-spacing:.17em!important;color:#fffdf0!important;
  text-shadow:0 0 6px #fff,0 0 15px currentColor,0 0 26px currentColor!important
}
#sasawa-award-results .energy-result-core small{
  font-size:7px!important;letter-spacing:.15em!important;color:#e9e3d8!important
}

/* 4-layer beam look, heavy center -> light outer glow */
#sasawa-award-results .cinematic-beam{
  height:15px!important;
  background:linear-gradient(180deg,
    rgba(255,255,255,0) 0%,
    color-mix(in srgb,currentColor 12%,transparent) 11%,
    color-mix(in srgb,currentColor 28%,transparent) 24%,
    color-mix(in srgb,currentColor 54%,#fff 8%) 36%,
    #fff7d8 49%,
    #fffdf2 51%,
    color-mix(in srgb,currentColor 54%,#fff 8%) 64%,
    color-mix(in srgb,currentColor 28%,transparent) 76%,
    color-mix(in srgb,currentColor 12%,transparent) 89%,
    rgba(255,255,255,0) 100%)!important;
  box-shadow:0 0 6px #fff,0 0 12px currentColor,0 0 24px currentColor,0 0 42px color-mix(in srgb,currentColor 32%,transparent)!important
}
#sasawa-award-results .beam-spark{z-index:38!important}
#sasawa-award-results .beam-endpoint{
  width:13px!important;height:13px!important;background:#fffbe7!important;
  box-shadow:0 0 7px #fff,0 0 14px currentColor,0 0 26px currentColor!important
}

#sasawa-award-results .result-round-progress{
  display:flex;justify-content:center;gap:24px;margin:3px auto 0
}
#sasawa-award-results .result-round-progress span{
  width:20px;height:20px;border-radius:50%;border:2px solid var(--dot-color,#666);position:relative
}
#sasawa-award-results .result-round-progress span:after{
  content:attr(data-label);position:absolute;top:24px;left:50%;transform:translateX(-50%);
  color:#8b867f;font-size:8px
}
#sasawa-award-results .result-round-progress span.active{
  box-shadow:0 0 11px var(--dot-color);background:color-mix(in srgb,var(--dot-color) 15%,transparent)
}

@media(max-width:390px){
  #sasawa-award-results .result-title-panel strong{font-size:17px}
  #sasawa-award-results .avatar{width:min(26.4vw,102px)!important;height:min(26.4vw,102px)!important}
  #sasawa-award-results .star-stage{height:205px!important}
}


/* =====================================================================
   V10 — deeper background + cinematic light treatment
   Goal: closer to the user's two visual references without changing logic.
   ===================================================================== */

/* ---------------- VOTE BACKGROUND DEPTH ---------------- */
#voteScreen{
  background:
    radial-gradient(circle at 50% 18%,rgba(255,215,106,.12),transparent 24%),
    radial-gradient(circle at 50% 58%,rgba(53,232,255,.075),transparent 26%),
    linear-gradient(180deg,#030404 0%,#050607 42%,#080705 100%)!important;
}
#voteScreen:before{
  opacity:.90!important;
  background:
    linear-gradient(90deg,transparent 0 7%,rgba(255,215,106,.11) 7% 7.2%,transparent 7.2% 18%,rgba(53,232,255,.075) 18% 18.2%,transparent 18.2% 82%,rgba(53,232,255,.075) 82% 82.2%,transparent 82.2% 93%,rgba(255,215,106,.11) 93% 93.2%,transparent 93.2% 100%),
    linear-gradient(180deg,transparent 0 20%,rgba(255,215,106,.05) 20% 20.25%,transparent 20.25% 38%,rgba(53,232,255,.035) 38% 38.2%,transparent 38.2% 63%,rgba(255,215,106,.045) 63% 63.25%,transparent 63.25% 100%),
    radial-gradient(circle at 50% 8%,rgba(255,215,106,.11),transparent 22%);
}
#voteScreen:after{
  inset:56% 0 0!important;
  background:
    repeating-linear-gradient(90deg,transparent 0 23px,rgba(255,215,106,.055) 23px 24px,transparent 24px 46px),
    linear-gradient(180deg,transparent 0%,rgba(255,190,53,.045) 28%,rgba(0,0,0,0) 100%)!important;
  mask-image:linear-gradient(180deg,transparent,#000 20%)!important;
}

/* pseudo floor rings under the vote card */
#voteScreen .stage{
  position:relative;
}
#voteScreen .stage:after{
  content:"";
  position:absolute;
  left:50%;bottom:3px;
  width:240px;height:64px;
  transform:translateX(-50%);
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(255,215,106,.18) 0 9%,transparent 10% 22%,rgba(255,215,106,.10) 23% 24%,transparent 25% 38%,rgba(53,232,255,.10) 39% 40%,transparent 41% 56%,rgba(255,215,106,.06) 57% 58%,transparent 59%);
  filter:drop-shadow(0 0 10px rgba(255,215,106,.26));
  pointer-events:none;
  z-index:0;
}
#voteScreen .energy-vote-card{
  z-index:3!important;
}
#voteScreen .energy-vote-card::selection{background:transparent}

/* ambient shafts/light columns like the reference, but subtle */
#voteScreen .award-card:before,
#voteScreen .award-card:after{
  content:"";
  position:absolute;
  bottom:18px;
  width:2px;height:150px;
  background:linear-gradient(180deg,transparent,rgba(255,215,106,.55) 65%,rgba(255,215,106,.08));
  box-shadow:
    0 0 10px rgba(255,215,106,.38),
    0 0 22px rgba(255,215,106,.18);
  opacity:.68;
  pointer-events:none;
}
#voteScreen .award-card:before{left:9%}
#voteScreen .award-card:after{right:9%}

/* tiny suspended light particles */
#voteScreen .stage .stage-mote{
  box-shadow:0 0 7px currentColor,0 0 15px color-mix(in srgb,currentColor 60%,transparent)!important;
  opacity:.82!important;
}

/* title tech lines stronger */
#voteScreen .tech-title-panel{
  box-shadow:
    0 0 20px rgba(255,215,106,.16),
    0 0 34px rgba(53,232,255,.07),
    inset 0 0 28px rgba(53,232,255,.07)!important;
}
#voteScreen .tech-title-panel strong{
  text-shadow:
    0 0 8px rgba(255,255,255,.20),
    0 0 16px rgba(255,215,106,.34)!important;
}

/* ---------------- RESULT BACKGROUND DEPTH ---------------- */
#sasawa-award-results .result-shell{
  background:
    radial-gradient(circle at 50% 10%,rgba(255,215,106,.11),transparent 24%),
    radial-gradient(circle at 50% 58%,rgba(255,215,106,.075),transparent 25%),
    radial-gradient(circle at 50% 68%,rgba(53,232,255,.06),transparent 34%),
    linear-gradient(180deg,#030404 0%,#050606 42%,#090704 100%)!important;
}
#sasawa-award-results .result-shell:before{
  opacity:.72!important;
  background:
    linear-gradient(90deg,transparent 0 6%,rgba(255,215,106,.10) 6% 6.2%,transparent 6.2% 16%,rgba(53,232,255,.055) 16% 16.2%,transparent 16.2% 84%,rgba(53,232,255,.055) 84% 84.2%,transparent 84.2% 94%,rgba(255,215,106,.10) 94% 94.2%,transparent 94.2% 100%),
    linear-gradient(180deg,transparent 0 17%,rgba(255,215,106,.04) 17% 17.2%,transparent 17.2% 61%,rgba(255,215,106,.045) 61% 61.2%,transparent 61.2% 100%)!important;
}

/* vertical light architecture near the card */
#sasawa-award-results .reveal-card:before,
#sasawa-award-results .reveal-card:after{
  content:"";
  position:absolute;
  bottom:24px;
  width:2px;height:188px;
  background:linear-gradient(180deg,transparent 0%,rgba(255,215,106,.18) 25%,rgba(255,215,106,.72) 72%,rgba(255,215,106,.10) 100%);
  box-shadow:0 0 11px rgba(255,215,106,.42),0 0 24px rgba(255,215,106,.18);
  opacity:.68;
  pointer-events:none;
}
#sasawa-award-results .reveal-card:before{left:8%}
#sasawa-award-results .reveal-card:after{right:8%}

/* stronger floor rings and central glow for reveal card */
#sasawa-award-results .star-stage:before{
  content:"";
  position:absolute;
  left:50%;bottom:-2px;
  width:290px;height:88px;
  transform:translateX(-50%);
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(255,239,185,.27) 0 8%,transparent 9% 19%,rgba(255,215,106,.17) 20% 21%,transparent 22% 34%,rgba(53,232,255,.12) 35% 36%,transparent 37% 48%,rgba(255,215,106,.08) 49% 50%,transparent 51%);
  filter:
    drop-shadow(0 0 12px rgba(255,215,106,.32))
    drop-shadow(0 0 18px rgba(53,232,255,.10));
  pointer-events:none;
  z-index:0;
}
#sasawa-award-results .energy-result-card{
  z-index:4!important;
}

/* a warm halo behind the card, like reference image 2 */
#sasawa-award-results .star-stage:after{
  content:"";
  position:absolute;
  left:50%;top:46%;
  width:240px;height:220px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,215,106,.16),rgba(255,215,106,.06) 38%,transparent 72%);
  filter:blur(7px);
  pointer-events:none;
  z-index:0;
}

/* beam sparkle density + soft outer haze */
#sasawa-award-results .cinematic-beam{
  filter:saturate(1.08) brightness(1.06);
}
#sasawa-award-results .beam-spark{
  box-shadow:
    0 0 5px #fff,
    0 0 10px currentColor,
    0 0 18px currentColor!important;
}
#sasawa-award-results .beam-spark-big{
  width:6px!important;height:6px!important;
  box-shadow:
    0 0 8px #fff,
    0 0 16px currentColor,
    0 0 28px currentColor!important;
}

/* stronger title panel light hierarchy */
#sasawa-award-results .result-title-panel{
  box-shadow:
    0 0 20px rgba(255,215,106,.15),
    0 0 34px rgba(53,232,255,.06),
    inset 0 0 30px rgba(53,232,255,.06)!important;
}
#sasawa-award-results .result-title-panel strong{
  text-shadow:0 0 10px rgba(255,215,106,.28)!important;
}

/* bottom vignette for cinematic depth */
#sasawa-award-results .result-shell:after{
  content:"";
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(180deg,transparent 0 70%,rgba(0,0,0,.18) 86%,rgba(0,0,0,.38) 100%),
    radial-gradient(ellipse at 50% 58%,transparent 0 38%,rgba(0,0,0,.14) 78%,rgba(0,0,0,.32) 100%);
}
#sasawa-award-results .result-shell>*{position:relative;z-index:2}

/* ---------------- subtle animated ambient light ---------------- */
@keyframes sasawaAmbientPulse{
  0%,100%{opacity:.55;filter:brightness(.95)}
  50%{opacity:.90;filter:brightness(1.12)}
}
#voteScreen .award-card:before,
#voteScreen .award-card:after,
#sasawa-award-results .reveal-card:before,
#sasawa-award-results .reveal-card:after{
  animation:sasawaAmbientPulse 3.6s ease-in-out infinite;
}
