/* Win confirmation and three-supporter results presentation. */
/* Win is deliberately a two-step experience. First linger on the live table. */
.win-moment {
  position:fixed;inset:0;z-index:54;display:grid;place-items:center;
  padding:14px;background:radial-gradient(ellipse at center,#0b21186b,#07120db8);
}
.win-moment-inner {
  width:min(360px,90vw);padding:22px 18px;text-align:center;
  border:2px solid #f8d285;border-radius:16px;
  background:linear-gradient(155deg,#34523edc,#102d24ef);
  box-shadow:0 0 35px #f3cf8444,0 20px 60px #091910bf;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.win-moment-call {font-size:clamp(37px,9vw,67px);line-height:1.15;font-weight:900;color:#ffe7a3;
  text-shadow:0 3px 12px #d6b46f88;}
.win-moment-inner strong {font-size:clamp(20px,5vw,27px);color:#fff2d3;}
.win-moment-inner p {font-size:12px;line-height:1.5;color:#e7e8d7;margin:0;}
.win-moment-inner .action {width:100%;min-height:48px;margin-top:5px;}

/* Three celebration artworks appear from the chest up, with score/details below. */
.victory-overlay {padding:9px;z-index:60;}
.victory-dialog {
  width:min(760px,100%);height:auto;
  max-height:calc(100dvh - 18px);padding:0;overflow:hidden;
  display:flex;flex-direction:column;
  background:#172d26;border:1.5px solid #f1cf8b;border-radius:13px;
}
.victory-stage {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;position:relative;flex:0 0 clamp(180px,37dvh,330px);
  min-height:0;overflow:hidden;
  background:radial-gradient(ellipse at center 20%,#6a7659 0%,#345041 45%,#13271f 100%);
}
.victory-stage:after {
  content:'';position:absolute;bottom:0;left:0;right:0;height:36%;
  background:linear-gradient(transparent,#132b22c9);pointer-events:none;
}
.victory-guide {position:relative;min-width:0;overflow:hidden;isolation:isolate;}
.victory-guide+ .victory-guide {border-left:1px solid #d4d6b42b;}
.victory-guide-image {
  position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:auto;height:149%;max-width:none;
  object-fit:contain;pointer-events:none;
  filter:drop-shadow(0 0 13px #f4d6a93b);
}
.victory-guide.satsuki .victory-guide-image {height:151%;}
.victory-guide.hinata .victory-guide-image {height:145%;}
.victory-guide-voice {
  position:absolute;bottom:5px;left:4px;right:4px;z-index:2;
  display:flex;flex-direction:column;gap:2px;
  padding:5px 3px;background:#112b24c9;border-radius:6px;
  color:#fff2dc;text-align:center;
}
.victory-guide-voice strong {font-size:13px;color:#ffe6a6;}
.victory-guide-voice span {font-size:10px;line-height:1.35;}
.victory-details {
  flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  padding:10px 18px 18px;text-align:center;
  scrollbar-width:thin;
}
.victory-details h2 {font-size:clamp(20px,5vw,29px);margin:1px 0;}
.victory-details .praise-points {font-size:clamp(30px,8vw,46px);margin:0 0 5px;}
.victory-details .result-detail {margin:0 auto 6px!important;}
.victory-details .result-yaku-label {margin:7px auto 4px!important;}
.victory-details .end-yaku {margin:5px auto 8px!important;}
.victory-details .score-delta {margin:4px auto 9px;}
.victory-details .score-delta>div {font-size:11px;}
.victory-details .action {margin-top:6px!important;min-height:44px;}
.result-points-voice {font-size:12px;color:#ffe0a2;}
@media (max-width:390px) {
  .victory-dialog {height:auto;max-height:calc(100dvh - 12px);}
  .victory-stage {flex-basis:clamp(160px,35dvh,282px);}
  .victory-guide-voice {padding:4px 2px;bottom:3px;}
  .victory-guide-voice strong {font-size:11px;}
  .victory-guide-voice span {font-size:9px;}
  .victory-details {padding:7px 10px 10px;}
  .victory-details .score-delta>div {font-size:10px;}
}
@media (max-height:480px) and (orientation:landscape) {
  .victory-dialog {height:auto;max-height:calc(100dvh - 8px);}
  .victory-stage {flex-basis:130px;}
  .victory-guide-image {height:170%;}
  .victory-guide-voice {padding:2px;bottom:1px;}
  .victory-guide-voice strong {font-size:10px;}
  .victory-guide-voice span {font-size:8px;line-height:1.2;}
  .victory-details {padding:4px 10px;}
  .victory-details h2 {font-size:19px;}
  .victory-details .praise-points {font-size:25px;}
}
@media (prefers-reduced-motion:no-preference) {
  .win-moment-call {animation:win-award .65s cubic-bezier(.2,1.3,.2,1);}
  @keyframes win-award {from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
}
@media (max-width:720px) and (orientation:portrait) {
  /* Long praise plus a live decision: do not hide either the words or tiles. */
  .dialogue-panel:has(.coach-recommend):has(.turn-actions .action) {
    height:clamp(319px,43dvh,358px);
    min-height:319px;
    max-height:358px;
  }
}
@media (max-height:480px) and (orientation:landscape) {
  .dialogue-panel:has(.coach-recommend) .coach-hero {
    flex:0 0 62px;height:62px;min-height:62px;
  }
  .dialogue-panel:has(.coach-recommend) .coach-dialogue {
    padding:4px 7px;gap:2px;
  }
  .dialogue-panel:has(.coach-recommend) .mentor-help {
    top:-51px;bottom:auto;right:8px;left:auto;z-index:4;
  }
  .dialogue-panel:has(.coach-recommend) .coach-waiting-tiles {gap:2px;}
}

.victory-actions {
  flex:0 0 auto;padding:7px 13px 11px;background:#172d26;
  border-top:1px solid #9e977048;
}
.victory-actions .action {width:100%;min-height:44px;margin-top:0!important;}
.victory-details .score-delta {margin-bottom:5px;}
@media (max-width:390px) {
  .victory-actions {padding:6px 9px 8px;}
}
@media (max-height:480px) and (orientation:landscape) {
  .victory-details .score-delta {
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px;margin:3px 0 5px;
  }
  .victory-details .score-delta>div {
    display:flex;flex-direction:column;align-items:center;
    gap:2px;padding:3px 1px;font-size:9px;white-space:nowrap;
  }
  .victory-details .score-delta b {font-size:10px;}
  .victory-details .result-yaku-label {margin:3px auto 2px!important;}
  .victory-details .end-yaku {margin:2px auto 4px!important;}
}
