/* 宇宙旅行.jp / meteor region visual v1.1.0
   P1-V2: regional comparison visual layer for all broad-region pages. No astronomical calculations. */

body.uy-rv-v1{
  --uy-rv-cyan:#59e6ff;
  --uy-rv-violet:#a78bfa;
  --uy-rv-gold:#ffd37a;
  --uy-rv-green:#74f7c5;
  --uy-rv-blue:#72a9ff;
  --uy-rv-panel:rgba(8,15,36,.82);
  --uy-rv-panel2:rgba(4,8,22,.94);
  --uy-rv-line:rgba(151,210,255,.20);
}

body.uy-rv-v1 .uy-rv-hero{
  min-height:560px;
  padding-top:30px;
  padding-bottom:38px;
  background:
    linear-gradient(180deg,rgba(2,3,10,.04),rgba(2,3,10,.28) 62%,#02030a 100%),
    radial-gradient(circle at 77% 24%,rgba(89,230,255,.15),transparent 24%),
    radial-gradient(circle at 86% 34%,rgba(167,139,250,.18),transparent 35%),
    radial-gradient(circle at 30% 92%,rgba(76,91,255,.12),transparent 40%);
}
body.uy-rv-v1 .uy-rv-hero::before{opacity:.72}
body.uy-rv-v1 .uy-rv-hero>.kicker,
body.uy-rv-v1 .uy-rv-hero>h1,
body.uy-rv-v1 .uy-rv-hero>.meta{max-width:650px}

.uy-rv-sky-scene{
  position:absolute!important;
  right:4%;
  top:62px;
  z-index:1!important;
  width:min(390px,40%);
  height:270px;
  pointer-events:none;
  opacity:.94;
  overflow:visible;
}
.uy-rv-sky-scene::before,
.uy-rv-sky-scene::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(139,196,255,.17);
  box-shadow:0 0 54px rgba(93,121,255,.08) inset;
}
.uy-rv-sky-scene::before{width:245px;height:245px;right:16px;top:8px}
.uy-rv-sky-scene::after{width:165px;height:165px;right:56px;top:48px;border-style:dashed;opacity:.65}
.uy-rv-sky-moon{
  position:absolute;
  right:101px;
  top:92px;
  width:74px;
  height:74px;
  border-radius:50%;
  background:radial-gradient(circle at 40% 36%,#0a1026,#02040c 72%);
  border:1px solid rgba(201,224,255,.24);
  box-shadow:0 0 26px rgba(137,190,255,.11),inset -9px -7px 22px rgba(0,0,0,.6);
}
.uy-rv-sky-moon::after{
  content:attr(data-label);
  position:absolute;
  left:50%;
  top:85px;
  transform:translateX(-50%);
  color:rgba(226,240,255,.47);
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.16em;
  white-space:nowrap;
}
.uy-rv-sky-star{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.75)}
.uy-rv-sky-star--1{left:25px;top:52px}.uy-rv-sky-star--2{left:118px;top:17px;width:2px;height:2px}.uy-rv-sky-star--3{right:26px;top:47px}.uy-rv-sky-star--4{left:68px;bottom:30px;width:2px;height:2px}.uy-rv-sky-star--5{right:52px;bottom:33px;width:2px;height:2px}
.uy-rv-sky-meteor{
  position:absolute;
  left:18px;
  top:92px;
  width:165px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,transparent,rgba(106,228,255,.18) 20%,#fff 82%,var(--uy-rv-cyan));
  box-shadow:0 0 14px rgba(89,230,255,.45);
  transform:rotate(-25deg);
  transform-origin:right center;
  animation:uyRvMeteor 6.8s ease-in-out infinite;
}
.uy-rv-sky-meteor--2{left:112px;top:181px;width:120px;opacity:.55;animation-delay:2.7s;animation-duration:8.4s}
.uy-rv-sky-label{
  position:absolute;
  right:2px;
  bottom:8px;
  color:rgba(219,233,255,.34);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.2em;
  writing-mode:vertical-rl;
}
@keyframes uyRvMeteor{
  0%,68%,100%{opacity:.18;transform:translate(20px,-16px) rotate(-25deg) scaleX(.7)}
  76%{opacity:1;transform:translate(0,0) rotate(-25deg) scaleX(1)}
  90%{opacity:.08;transform:translate(-45px,28px) rotate(-25deg) scaleX(1.12)}
}

.uy-rv-summary{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:16px;
  border:1px solid rgba(151,210,255,.18);
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(110deg,rgba(10,18,43,.72),rgba(6,10,27,.88));
  box-shadow:0 20px 46px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
}
.uy-rv-summary-item{min-width:0;padding:14px 14px 15px;border-right:1px solid rgba(151,210,255,.12)}
.uy-rv-summary-item:last-child{border-right:0}
.uy-rv-summary-item small{display:block;color:rgba(220,232,255,.52);font-size:.57rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.uy-rv-summary-item b{display:block;margin-top:5px;color:#fff;font-size:.94rem;line-height:1.35;font-weight:900;font-variant-numeric:tabular-nums}
.uy-rv-summary-item:first-child b{color:var(--uy-rv-gold)}

.uy-rv-intent{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:18px 0 32px;
  padding:10px;
  border:1px solid rgba(151,210,255,.16);
  border-radius:20px;
  background:rgba(5,10,25,.72);
  box-shadow:0 18px 42px rgba(0,0,0,.20);
  backdrop-filter:blur(14px);
}
.uy-rv-intent a{
  position:relative;
  min-height:88px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:13px 38px 13px 14px;
  border:1px solid transparent;
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:#fff;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.uy-rv-intent a:hover{transform:translateY(-3px);border-color:rgba(89,230,255,.42);background:rgba(14,28,60,.72);color:#fff}
.uy-rv-intent small{color:var(--uy-rv-cyan);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.uy-rv-intent b{margin-top:4px;font-size:.86rem;line-height:1.4}
.uy-rv-intent a::after{content:"↘";position:absolute;right:13px;top:12px;color:rgba(220,236,255,.34);font-size:.9rem}

#uy-rv-city-compare,#uy-rv-dark-spots,#uy-rv-direction,#uy-rv-counter{scroll-margin-top:70px}

.uy-rv-city-table{position:relative;border-color:rgba(89,230,255,.20);box-shadow:0 22px 60px rgba(0,0,0,.30),0 0 44px rgba(77,117,255,.05)}
.uy-rv-city-table tbody tr{position:relative}
.uy-rv-city-table tbody tr.uy-rv-rate-high td{background:linear-gradient(90deg,rgba(255,211,122,.10),rgba(89,230,255,.025));color:#fff}
.uy-rv-city-table tbody tr.uy-rv-rate-high td:first-child{box-shadow:inset 3px 0 var(--uy-rv-gold)}
.uy-rv-city-table tbody tr td:nth-child(2){position:relative;padding-bottom:22px}
.uy-rv-city-table tbody tr td:nth-child(2)::after{
  content:"";
  position:absolute;
  left:16px;
  right:auto;
  bottom:9px;
  width:calc((100% - 32px) * var(--uy-rv-rate));
  max-width:calc(100% - 32px);
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--uy-rv-violet),var(--uy-rv-cyan));
  opacity:.76;
  box-shadow:0 0 12px rgba(89,230,255,.2);
}
.uy-rv-city-table tbody tr.uy-rv-rate-high td:first-child::after{content:"地域内最高値";display:inline-flex;margin-left:8px;padding:2px 6px;border:1px solid rgba(255,211,122,.28);border-radius:999px;color:var(--uy-rv-gold);font-size:.53rem;font-weight:900;letter-spacing:.04em;vertical-align:middle;white-space:nowrap}

.uy-rv-night-window{
  position:relative;
  margin:24px 0 2px;
  padding:22px;
  border:1px solid rgba(151,210,255,.18);
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 35%,rgba(89,230,255,.11),transparent 31%),
    radial-gradient(circle at 66% 67%,rgba(167,139,250,.12),transparent 40%),
    linear-gradient(150deg,rgba(9,18,43,.92),rgba(3,7,20,.96));
  box-shadow:0 24px 68px rgba(0,0,0,.28);
}
.uy-rv-night-window::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 1.4px);background-size:74px 68px;opacity:.13;pointer-events:none}
.uy-rv-night-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.72fr);gap:26px;align-items:center}
.uy-rv-eyebrow{color:var(--uy-rv-cyan);font-size:.62rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.uy-rv-night-copy strong{display:block;margin-top:8px;color:#fff;font-size:clamp(1.16rem,2.4vw,1.65rem);line-height:1.36;letter-spacing:-.025em}
.uy-rv-night-copy p{margin-top:9px;font-size:.82rem;color:rgba(231,240,255,.69)}
.uy-rv-night-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.uy-rv-night-chips span{padding:7px 9px;border:1px solid rgba(151,210,255,.16);border-radius:999px;background:rgba(7,13,32,.64);color:rgba(235,244,255,.78);font-size:.66rem;font-weight:850;font-variant-numeric:tabular-nums}
.uy-rv-night-chips b{color:#fff}
.uy-rv-clock{position:relative;width:min(250px,100%);aspect-ratio:1;margin:auto;border:1px solid rgba(151,210,255,.18);border-radius:50%;background:radial-gradient(circle,rgba(54,86,189,.10),transparent 52%),rgba(2,6,19,.72);box-shadow:inset 0 0 50px rgba(74,106,255,.07),0 18px 44px rgba(0,0,0,.24)}
.uy-rv-clock::before{content:"";position:absolute;inset:11%;border:1px dashed rgba(151,210,255,.19);border-radius:50%}
.uy-rv-clock::after{content:"";position:absolute;inset:24%;border:1px solid rgba(151,210,255,.13);border-radius:50%}
.uy-rv-clock-night{position:absolute;inset:7%;border-radius:50%;background:conic-gradient(from 91deg,rgba(5,12,34,.06) 0 23%,rgba(89,230,255,.13) 23% 63%,rgba(167,139,250,.18) 63% 83%,rgba(5,12,34,.06) 83% 100%);mask:radial-gradient(circle,transparent 0 55%,#000 56%)}
.uy-rv-clock-core{position:absolute;left:50%;top:50%;z-index:3;width:57%;min-height:91px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translate(-50%,-50%);padding:12px;border:1px solid rgba(89,230,255,.23);border-radius:22px;background:linear-gradient(160deg,rgba(12,30,58,.94),rgba(5,11,28,.97));text-align:center;box-shadow:0 15px 38px rgba(0,0,0,.32)}
.uy-rv-clock-core small{color:var(--uy-rv-cyan);font-size:.52rem;font-weight:900;letter-spacing:.12em}
.uy-rv-clock-core b{margin-top:5px;color:#fff;font-size:1.03rem;line-height:1.18;font-variant-numeric:tabular-nums}
.uy-rv-clock-core span{margin-top:4px;color:var(--uy-rv-green);font-size:.56rem;font-weight:900}
.uy-rv-clock-label{position:absolute;z-index:4;color:rgba(225,238,255,.52);font-size:.53rem;font-weight:900}
.uy-rv-clock-label--evening{left:2%;top:49%}.uy-rv-clock-label--midnight{left:50%;top:2%;transform:translateX(-50%)}.uy-rv-clock-label--dawn{right:2%;top:49%}
.uy-rv-clock-peak{position:absolute;z-index:5;right:18%;top:20%;width:11px;height:11px;border-radius:50%;background:var(--uy-rv-gold);box-shadow:0 0 12px var(--uy-rv-gold),0 0 25px rgba(255,211,122,.35);animation:uyRvPulse 2.6s ease-in-out infinite}
@keyframes uyRvPulse{0%,100%{transform:scale(.8);opacity:.72}50%{transform:scale(1.18);opacity:1}}

.uy-rv-spot-table{border:0;background:transparent;box-shadow:none;overflow:visible;margin-top:12px}
.uy-rv-spot-table table{border-collapse:separate;border-spacing:0 9px}
.uy-rv-spot-table thead th{background:transparent;border-bottom:0;padding-top:0;padding-bottom:4px}
.uy-rv-spot-table tbody tr{background:linear-gradient(135deg,rgba(12,21,48,.88),rgba(4,8,22,.96));box-shadow:0 14px 34px rgba(0,0,0,.18)}
.uy-rv-spot-table tbody td{border-top:1px solid rgba(151,210,255,.14);border-bottom:1px solid rgba(151,210,255,.14)}
.uy-rv-spot-table tbody td:first-child{border-left:1px solid rgba(151,210,255,.14);border-radius:14px 0 0 14px;padding-top:15px;padding-bottom:15px}
.uy-rv-spot-table tbody td:last-child{border-right:1px solid rgba(151,210,255,.14);border-radius:0 14px 14px 0;color:var(--uy-rv-gold);font-size:.93rem}
.uy-rv-spot-table tbody tr:hover{background:linear-gradient(135deg,rgba(17,31,67,.94),rgba(6,11,28,.98))}

body.uy-rv-v1 .uy-wait-game{margin-top:28px}

@media(max-width:760px){
  body.uy-rv-v1 .uy-rv-hero{min-height:0;padding-bottom:28px}
  body.uy-rv-v1 .uy-rv-hero>.kicker,
  body.uy-rv-v1 .uy-rv-hero>h1,
  body.uy-rv-v1 .uy-rv-hero>.meta{max-width:none}
  .uy-rv-sky-scene{right:-35px;top:118px;width:255px;height:210px;opacity:.38}
  .uy-rv-sky-scene::before{width:190px;height:190px}.uy-rv-sky-scene::after{width:128px;height:128px;right:47px;top:40px}.uy-rv-sky-moon{right:82px;top:74px;width:55px;height:55px}.uy-rv-sky-moon::after{top:65px}
  .uy-rv-summary{grid-template-columns:1fr 1fr}
  .uy-rv-summary-item:nth-child(2){border-right:0}.uy-rv-summary-item:nth-child(-n+2){border-bottom:1px solid rgba(151,210,255,.12)}
  .uy-rv-intent{grid-template-columns:1fr;margin-top:12px}.uy-rv-intent a{min-height:68px}
  .uy-rv-night-grid{grid-template-columns:1fr}.uy-rv-clock{width:min(235px,86vw);order:-1}
  .uy-rv-city-table{border:0;background:transparent;box-shadow:none;overflow:visible}
  .uy-rv-city-table table,.uy-rv-city-table thead,.uy-rv-city-table tbody,.uy-rv-city-table tr,.uy-rv-city-table th,.uy-rv-city-table td{display:block;width:100%}
  .uy-rv-city-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
  .uy-rv-city-table tbody{display:grid;gap:9px}
  .uy-rv-city-table tbody tr{display:grid;grid-template-columns:1fr 1fr;padding:13px 13px 10px;border:1px solid rgba(151,210,255,.16);border-radius:16px;background:linear-gradient(150deg,rgba(12,21,48,.88),rgba(4,8,22,.96));box-shadow:0 12px 28px rgba(0,0,0,.18)}
  .uy-rv-city-table tbody tr.uy-rv-rate-high{border-color:rgba(255,211,122,.28)}
  .uy-rv-city-table tbody tr td{padding:5px 4px;border:0!important;text-align:left!important;background:transparent!important;box-shadow:none!important}
  .uy-rv-city-table tbody tr td:first-child{grid-column:1/-1;padding-bottom:8px;font-size:.98rem}
  .uy-rv-city-table tbody tr td:nth-child(2),.uy-rv-city-table tbody tr td:nth-child(3){padding-top:18px;position:relative}
  .uy-rv-city-table tbody tr td:nth-child(2)::before,.uy-rv-city-table tbody tr td:nth-child(3)::before{content:attr(data-l);position:absolute;left:4px;top:0;color:rgba(220,232,255,.48);font-size:.52rem;font-weight:900;letter-spacing:.06em}
  .uy-rv-city-table tbody tr td:nth-child(2)::after{left:4px;right:4px;bottom:-2px;width:calc((100% - 8px) * var(--uy-rv-rate));max-width:calc(100% - 8px)}
  .uy-rv-spot-table table{border-spacing:0 8px}
}

@media(max-width:440px){
  .uy-rv-summary{grid-template-columns:1fr 1fr;border-radius:15px}.uy-rv-summary-item{padding:11px 10px}.uy-rv-summary-item b{font-size:.82rem}.uy-rv-summary-item small{font-size:.49rem}
  .uy-rv-night-window{padding:17px 14px;border-radius:20px}.uy-rv-night-chips{gap:5px}.uy-rv-night-chips span{font-size:.61rem;padding:6px 8px}
  .uy-rv-city-table tbody tr.uy-rv-rate-high td:first-child::after{display:block;width:max-content;margin:4px 0 0}
  .uy-rv-spot-table tbody td:first-child{border-radius:12px 0 0 12px}.uy-rv-spot-table tbody td:last-child{border-radius:0 12px 12px 0;font-size:.84rem}
}

@media(prefers-reduced-motion:reduce){
  .uy-rv-sky-meteor,.uy-rv-clock-peak{animation:none!important}
  .uy-rv-intent a{transition:none!important}
}
