.giulesti-live{padding-top:26px;padding-bottom:42px}
.giulesti-live-head{align-items:flex-end;margin-bottom:16px}
.giulesti-live-note{font-size:11px;color:var(--muted);font-weight:700;text-align:right}
.giulesti-live-grid{display:grid;grid-template-columns:1fr;gap:14px}
.rapidometer-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;padding:24px;background:rgba(255,255,255,.88);box-shadow:var(--shadow)}
.rapidometer-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#6f1530,#a52d52)}
.rapidometer-top{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:24px;align-items:center}
.rapidometer-copy{padding-left:5px}
.rapidometer-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:var(--wine);color:#fff;font-size:9px;font-weight:950;letter-spacing:.15em}
.rapidometer-copy h3{font-size:29px;letter-spacing:-.045em;margin:12px 0 7px}
.rapidometer-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.55;max-width:430px}
.rapidometer-history-button{margin-top:14px;border:0;background:transparent;color:var(--wine);font-weight:900;padding:0;cursor:pointer}
.rapidometer-history-button span{display:inline-block;margin-left:4px;transition:transform .18s ease}
.rapidometer-history-button:hover span{transform:translate(2px,-2px)}
.rapidometer-mood-panel{position:relative;border:1px solid rgba(111,21,48,.13);border-radius:19px;padding:17px 18px 15px;background:linear-gradient(145deg,rgba(250,244,246,.92),rgba(255,255,255,.88));box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.rapidometer-community-faces{display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;margin-bottom:12px}
.rapidist-face{position:relative;display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(111,21,48,.11);border-radius:50%;background:#fff;overflow:hidden;opacity:.46;filter:saturate(.68) grayscale(.12);transform:scale(.9);box-shadow:0 4px 12px rgba(45,18,27,.06);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .24s ease,filter .24s ease,box-shadow .24s ease,border-color .24s ease}
.rapidist-face img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;transform:translateY(0) rotate(0);animation:rapidometerEagleFloat 3.4s ease-in-out infinite}
.rapidist-face:nth-child(2) img{animation-delay:-.65s}
.rapidist-face:nth-child(3) img{animation-delay:-1.3s}
.rapidist-face:nth-child(4) img{animation-delay:-1.95s}
.rapidist-face:nth-child(5) img{animation-delay:-2.6s}
.rapidometer-vote-face::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%) rotate(-4deg);width:28px;height:6px;border-radius:999px;background:linear-gradient(90deg,#7a1735 0 40%,#f8f5f6 40% 57%,#7a1735 57% 100%);box-shadow:0 2px 4px rgba(70,18,35,.12)}
.rapidist-face.is-community-active{opacity:1;filter:saturate(1) grayscale(0);transform:translateY(-2px) scale(1.14);border-color:rgba(111,21,48,.58);box-shadow:0 0 0 3px rgba(111,21,48,.08),0 10px 24px rgba(111,21,48,.2)}
.rapidist-face.is-community-active img{animation:rapidometerEagleActive 2.25s ease-in-out infinite}
.rapidometer-state-line{text-align:center;font-size:14px;color:var(--muted);line-height:1.35}
.rapidometer-state-line strong{color:var(--ink);font-size:19px;letter-spacing:-.02em;transition:opacity .18s ease,transform .18s ease}
.rapidometer-meta-row{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:9px}
.rapidometer-score-small,.rapidometer-votes,.rapidometer-trend{display:inline-flex;align-items:center;min-height:26px;border:1px solid var(--line);border-radius:999px;padding:5px 9px;background:rgba(255,255,255,.88);font-size:9px;color:var(--muted);font-weight:800}
.rapidometer-score-small strong{color:var(--wine);font-size:11px;margin:0 2px}
.rapidometer-trend{color:var(--ink)}
.rapidometer-vote-panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 18px;align-items:center;margin-top:18px;padding-top:17px;border-top:1px solid rgba(111,21,48,.09)}
.rapidometer-vote-heading{min-width:82px}
.rapidometer-vote-heading strong{display:block;font-size:11px;color:var(--ink)}
.rapidometer-vote-heading span{display:block;margin-top:3px;font-size:8px;color:var(--muted)}
.rapidometer-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.rapidometer-options button{min-width:0;border:1px solid var(--line);border-radius:13px;padding:7px 5px 6px;background:rgba(255,255,255,.94);cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.rapidometer-vote-face{position:relative;display:grid;place-items:center;width:28px;height:28px;margin:0 auto 6px;border-radius:50%;background:#fff}
.rapidometer-vote-face>span{font-size:17px;line-height:1}
.rapidometer-vote-face::after{width:20px;height:4px;bottom:-2px}
.rapidometer-options button small{display:block;font-size:7.5px;font-weight:850;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rapidometer-options button:hover{transform:translateY(-3px);border-color:rgba(111,21,48,.34);box-shadow:0 8px 18px rgba(45,18,27,.09)}
.rapidometer-options button.is-selected{border-color:var(--wine);box-shadow:0 0 0 2px rgba(111,21,48,.1),0 9px 22px rgba(111,21,48,.09);background:linear-gradient(180deg,#fff,#f8edf1)}
.rapidometer-options button.is-selected .rapidometer-vote-face{animation:rapidometerSelectedPulse 2s ease-in-out infinite}
.rapidometer-options button:disabled{opacity:.55;cursor:wait;transform:none}
.rapidometer-message{grid-column:2;min-height:15px;margin-top:-7px;font-size:9px;color:var(--muted);text-align:center}
.rapidometer-message.is-error{color:#8d2332}
.rapidometer-card.is-summary-updating .rapidometer-state-line strong,.rapidometer-card.is-summary-updating .rapidometer-meta-row{opacity:.35;transform:translateY(2px)}
.rapidometer-history-dialog{max-width:min(920px,calc(100vw - 24px))}
.rapidometer-history-modal{padding:27px}
.rapidometer-range-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:-3px 0 17px}
.rapidometer-range-tabs button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;font-size:11px;font-weight:850;color:var(--ink);cursor:pointer}
.rapidometer-range-tabs button.is-active{background:var(--wine);border-color:var(--wine);color:#fff}
.rapidometer-history-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}
.rapidometer-history-stat{border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:rgba(247,238,241,.55)}
.rapidometer-history-stat small{display:block;font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:900}
.rapidometer-history-stat strong{display:block;margin-top:5px;font-size:18px;color:var(--ink)}
.rapidometer-chart-shell{position:relative;min-height:310px;border:1px solid var(--line);border-radius:17px;padding:12px;background:rgba(255,255,255,.72);overflow:hidden}
.rapidometer-chart-loading,.rapidometer-chart-empty{min-height:285px;display:grid;place-items:center;color:var(--muted);font-size:12px;text-align:center;padding:24px}
.rapidometer-chart{display:block;width:100%;height:auto;min-height:285px}
.rapidometer-chart-grid{stroke:rgba(77,68,72,.12);stroke-width:1}
.rapidometer-chart-axis-label{fill:var(--muted);font-size:10px;font-weight:700}
.rapidometer-chart-line{fill:none;stroke:var(--wine);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1400;stroke-dashoffset:1400;animation:rapidometerDrawLine .9s cubic-bezier(.22,.75,.25,1) forwards}
.rapidometer-chart-area{fill:rgba(111,21,48,.08);opacity:0;animation:rapidometerAreaIn .6s ease .35s forwards}
.rapidometer-chart-point{fill:#fff;stroke:var(--wine);stroke-width:2.5;transform-box:fill-box;transform-origin:center;opacity:0;animation:rapidometerPointIn .25s ease .65s forwards;transition:transform .18s ease,filter .18s ease}
.rapidometer-chart-point:hover,.rapidometer-chart-point:focus{transform:scale(1.45);filter:drop-shadow(0 3px 5px rgba(111,21,48,.25));outline:none}
.rapidometer-history-footnote{margin:11px 2px 0;color:var(--muted);font-size:9px;line-height:1.5}
.rapidometer-history-dialog[open] .rapidometer-history-modal{animation:rapidometerModalIn .24s cubic-bezier(.2,.8,.2,1) both}
.giulesti-live.motion-ready{opacity:0;transform:translateY(14px)}
.giulesti-live.motion-ready.is-visible{opacity:1;transform:none;transition:opacity .5s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
@keyframes rapidometerEagleFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(.7deg)}}
@keyframes rapidometerEagleActive{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.025)}}
@keyframes rapidometerSelectedPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(111,21,48,0)}50%{transform:scale(1.06);box-shadow:0 0 0 5px rgba(111,21,48,.07)}}
@keyframes rapidometerDrawLine{to{stroke-dashoffset:0}}
@keyframes rapidometerAreaIn{to{opacity:1}}
@keyframes rapidometerPointIn{to{opacity:1}}
@keyframes rapidometerModalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .rapidometer-top{grid-template-columns:1fr}
  .rapidometer-mood-panel{max-width:none}
}
@media(max-width:650px){
  .giulesti-live{padding:20px 17px 30px}
  .giulesti-live-head{align-items:flex-start}
  .giulesti-live-note{display:none}
  .giulesti-live-head h2{font-size:27px}
  .rapidometer-card{padding:18px 15px 16px;border-radius:18px}
  .rapidometer-top{gap:14px}
  .rapidometer-copy h3{font-size:24px}
  .rapidometer-copy p{font-size:11px}
  .rapidometer-mood-panel{padding:14px 10px 13px}
  .rapidometer-community-faces{gap:7px;min-height:52px;margin-bottom:10px}
  .rapidist-face{width:40px;height:40px}
  .rapidometer-state-line{font-size:11px}
  .rapidometer-state-line strong{display:block;margin-top:3px;font-size:18px}
  .rapidometer-meta-row{gap:5px}
  .rapidometer-score-small,.rapidometer-votes,.rapidometer-trend{font-size:8px;padding:4px 7px;min-height:23px}
  .rapidometer-vote-panel{grid-template-columns:1fr;gap:8px;margin-top:14px;padding-top:13px}
  .rapidometer-vote-heading{display:flex;align-items:baseline;gap:6px}
  .rapidometer-vote-heading span{margin:0}
  .rapidometer-options{gap:4px}
  .rapidometer-options button{padding:6px 2px 5px;border-radius:11px}
  .rapidometer-vote-face{width:23px;height:23px;margin-bottom:5px}
  .rapidometer-vote-face>span{font-size:14px}
  .rapidometer-vote-face::after{width:17px;height:3px}
  .rapidometer-options button small{font-size:6.8px}
  .rapidometer-message{grid-column:1;margin-top:0;font-size:8px}
  .rapidometer-history-dialog{max-width:calc(100vw - 14px)}
  .rapidometer-history-modal{padding:20px 14px}
  .rapidometer-history-stats{grid-template-columns:repeat(2,1fr)}
  .rapidometer-chart-shell{min-height:260px;padding:6px}
  .rapidometer-chart{min-height:245px}
}
@media(prefers-reduced-motion:reduce){
  .giulesti-live.motion-ready{opacity:1;transform:none}
  .giulesti-live.motion-ready.is-visible{transition:none}
  .rapidist-face img,
  .rapidometer-options button.is-selected .rapidometer-vote-face,
  .rapidometer-chart-line,
  .rapidometer-chart-area,
  .rapidometer-chart-point,
  .rapidometer-history-dialog[open] .rapidometer-history-modal{animation:none!important}
  .rapidometer-chart-line{stroke-dashoffset:0}
  .rapidometer-chart-area,.rapidometer-chart-point{opacity:1}
}


/* Rapidometer mockup refinement v1.3 — eagle mood rail + text-only voting */
.rapidometer-community-faces{
  gap:clamp(8px,1.5vw,18px);
  min-height:92px;
  margin:0 auto 17px;
  align-items:center;
}
.rapidist-face{
  position:relative;
  width:clamp(64px,7.4vw,88px);
  height:clamp(64px,7.4vw,88px);
  border:0;
  border-radius:18px;
  background:transparent;
  overflow:visible;
  box-shadow:none;
  opacity:.48;
  filter:saturate(.68) grayscale(.1);
  transform:translateY(0) scale(.9);
}
.rapidist-face::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:rgba(111,21,48,.035);
  border:1px solid rgba(111,21,48,.06);
  opacity:0;
  transform:scale(.82);
  transition:opacity .24s ease,transform .3s cubic-bezier(.2,.8,.2,1);
}
.rapidist-face::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:48%;
  min-width:30px;
  height:6px;
  border-radius:999px;
  background:rgba(111,21,48,.14);
  transform:translateX(-50%) scaleX(.72);
  transition:background-color .24s ease,transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease;
}
.rapidist-face img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:0;
  filter:drop-shadow(0 5px 7px rgba(56,17,31,.08));
  animation:rapidometerEagleFloat 3.4s ease-in-out infinite;
  transition:filter .24s ease;
}
.rapidist-face:hover{
  opacity:.82;
  filter:saturate(.9);
  transform:translateY(-3px) scale(1);
}
.rapidist-face.is-community-active{
  opacity:1;
  filter:saturate(1) grayscale(0);
  transform:translateY(-4px) scale(1.08);
  border:0;
  box-shadow:none;
}
.rapidist-face.is-community-active::before{
  opacity:1;
  transform:scale(1);
  background:rgba(111,21,48,.055);
  border-color:rgba(111,21,48,.13);
  box-shadow:0 0 0 7px rgba(111,21,48,.035);
}
.rapidist-face.is-community-active::after{
  background:var(--wine);
  transform:translateX(-50%) scaleX(1);
  box-shadow:0 3px 9px rgba(111,21,48,.2);
}
.rapidist-face.is-community-active img{
  filter:drop-shadow(0 8px 12px rgba(111,21,48,.15));
  animation:rapidometerEagleActive 2.25s ease-in-out infinite;
}

.rapidometer-options button{
  min-height:58px;
  display:grid;
  place-items:center;
  padding:10px 8px;
  border-radius:14px;
}
.rapidometer-options button small{
  display:block;
  margin:0;
  font-size:11px;
  line-height:1.15;
  font-weight:850;
  color:#6f6b70;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  transition:color .18s ease,transform .18s ease;
}
.rapidometer-options button:hover small{
  color:var(--ink);
  transform:translateY(-1px);
}
.rapidometer-options button.is-selected small{
  color:var(--wine);
  font-weight:950;
}
.rapidometer-vote-face{display:none!important}

@media(max-width:650px){
  .rapidometer-community-faces{
    gap:4px;
    min-height:66px;
    margin-bottom:14px;
  }
  .rapidist-face{
    width:clamp(47px,15.6vw,62px);
    height:clamp(47px,15.6vw,62px);
    border-radius:14px;
  }
  .rapidist-face::after{
    bottom:-5px;
    height:5px;
    min-width:23px;
  }
  .rapidometer-options button{
    min-height:54px;
    padding:8px 3px;
  }
  .rapidometer-options button small{
    font-size:clamp(8.5px,2.55vw,10px);
    letter-spacing:-.01em;
  }
}

@media(prefers-reduced-motion:reduce){
  .rapidist-face img,
  .rapidist-face.is-community-active img{
    animation:none!important;
  }
}


/* Rapidometer share card v1.4 */
.rapidometer-copy-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:14px}
.rapidometer-copy-actions .rapidometer-history-button{margin-top:0}
.rapidometer-share-button{border:0;background:transparent;color:var(--muted);font-weight:900;padding:0;cursor:pointer;transition:color .18s ease,transform .18s ease}
.rapidometer-share-button span{display:inline-block;margin-left:4px;transition:transform .18s ease}
.rapidometer-share-button:hover{color:var(--wine);transform:translateY(-1px)}
.rapidometer-share-button:hover span{transform:translate(2px,-2px)}

.rapidometer-share-dialog{max-width:min(620px,calc(100vw - 22px))}
.rapidometer-share-modal{padding:25px}
.rapidometer-share-preview-shell{position:relative;display:grid;place-items:center;min-height:360px;border:1px solid rgba(111,21,48,.13);border-radius:18px;background:linear-gradient(145deg,#faf6f7,#fff);overflow:hidden}
.rapidometer-share-loading{color:var(--muted);font-size:11px;font-weight:800}
.rapidometer-share-preview{display:block;width:min(100%,460px);height:auto;aspect-ratio:1/1;object-fit:contain;box-shadow:0 16px 42px rgba(70,18,35,.12)}
.rapidometer-share-copy{margin:12px 2px 0;color:var(--muted);font-size:10px;line-height:1.5}
.rapidometer-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.rapidometer-share-actions button{min-height:44px}
.rapidometer-share-status{min-height:16px;margin-top:8px;text-align:center;color:var(--muted);font-size:9px}
.rapidometer-share-status.is-error{color:#8d2332}
.rapidometer-share-dialog[open] .rapidometer-share-modal{animation:rapidometerModalIn .24s cubic-bezier(.2,.8,.2,1) both}

@media(max-width:650px){
  .rapidometer-copy-actions{gap:14px}
  .rapidometer-share-dialog{max-width:calc(100vw - 12px)}
  .rapidometer-share-modal{padding:18px 13px}
  .rapidometer-share-preview-shell{min-height:290px}
  .rapidometer-share-preview{width:min(100%,360px)}
  .rapidometer-share-actions{grid-template-columns:1fr}
}
