:root {
  --nvz-rr-rose: #b96f73;
  --nvz-rr-rose-2: #cf8d91;
  --nvz-rr-rose-dark: #8c4f52;
  --nvz-rr-brown: #30201d;
  --nvz-rr-beige: #fff8f4;
  --nvz-rr-beige-2: #faece5;
  --nvz-rr-soft: #ead8cf;
  --nvz-rr-line: #e2c9bd;
  --nvz-rr-wheel-size: 374px;
}
#nvz-rr-root,
#nvz-rr-root * { box-sizing: border-box; }
#nvz-rr-root img { max-width: none; }
html.nvz-rr-open { overflow: hidden; }
.nvz-rr-root { position: fixed; inset: 0; z-index: 99999; font-family: inherit; color: var(--nvz-rr-brown); }
.nvz-rr-backdrop { position: absolute; inset: 0; background: rgba(33, 26, 24, .58); backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px); animation: nvzRrFadeIn .28s ease both; }
.nvz-rr-modal {
  position: relative; width: min(1120px, calc(100vw - 38px)); max-height: calc(100vh - 38px); overflow: auto;
  margin: 3.6vh auto 0; background: radial-gradient(circle at 16% 10%, rgba(255,255,255,.96) 0, rgba(255,248,244,.96) 28%, rgba(250,236,229,.98) 100%);
  border-radius: 24px; box-shadow: 0 28px 90px rgba(45, 25, 20, .34); color: var(--nvz-rr-brown);
  border: 1px solid rgba(183, 111, 114, .14); animation: nvzRrModalIn .34s cubic-bezier(.2,.78,.2,1) both;
}
.nvz-rr-close { position: absolute; top: 22px; right: 26px; border: 0; background: transparent; font-size: 34px; line-height: 1; color: var(--nvz-rr-brown); cursor: pointer; z-index: 7; width: 38px; height: 38px; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:background .18s ease, transform .18s ease; }
.nvz-rr-close:hover { background: rgba(183,111,114,.08); transform: rotate(90deg); }
.nvz-rr-content { display: grid; grid-template-columns: minmax(400px, 0.98fr) minmax(365px, 1fr); gap: 54px; align-items: center; padding: 56px 62px 34px; }
.nvz-rr-wheel-wrap { position: relative; min-height: calc(var(--nvz-rr-wheel-size) + 44px); display: flex; justify-content: center; align-items: center; flex-direction: column; isolation: isolate; }
.nvz-rr-wheel {
  position: relative; width: var(--nvz-rr-wheel-size) !important; height: var(--nvz-rr-wheel-size) !important; min-width: var(--nvz-rr-wheel-size); min-height: var(--nvz-rr-wheel-size); aspect-ratio: 1 / 1; flex: 0 0 auto; border-radius: 50%; overflow: hidden;
  background: conic-gradient(from -30deg, #fff4ee 0 60deg, #e8b5b7 60deg 120deg, #f7eadf 120deg 180deg, #d8aaa9 180deg 240deg, #ead7d2 240deg 300deg, #d8cabc 300deg 360deg);
  border: 11px solid #d5bfa8; box-shadow: inset 0 0 0 5px rgba(255,255,255,.78), inset 0 0 26px rgba(255,255,255,.38), 0 14px 32px rgba(80,55,45,.20); transition: transform 4.4s cubic-bezier(.08,.78,.16,1); will-change: transform; transform: rotate(0deg) translateZ(0);
}
.nvz-rr-wheel::before { content: none; }
.nvz-rr-wheel::after { content: ''; position: absolute; inset: -1px; border-radius: 50%; border: 1px solid rgba(183,111,114,.23); box-shadow: inset 0 0 0 1px rgba(255,255,255,.55), 0 0 0 7px rgba(255,255,255,.28); pointer-events:none; z-index:4; }
.nvz-rr-wheel.is-transitioning { animation: nvzRrWheelGlow 1.15s ease-in-out infinite alternate; }
.nvz-rr-wheel.is-spinning { animation: nvzRrWheelGlow .85s ease-in-out infinite alternate; }
.nvz-rr-pointer { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 48px; height: 62px; z-index: 6; background: linear-gradient(155deg, #e2cdb7 0%, #cbb39e 100%); color: #fff; display: flex; align-items: flex-start; justify-content: center; padding-top: 10px; font-family: Georgia, serif; font-size: 20px; box-shadow: 0 8px 18px rgba(80,55,45,.24), inset 0 1px 0 rgba(255,255,255,.5); -webkit-clip-path: path('M 0 14 Q 0 0 14 0 L 34 0 Q 48 0 48 14 L 48 31 Q 48 43 40 50 L 29 60 Q 24 65 19 60 L 8 50 Q 0 43 0 31 Z'); clip-path: path('M 0 14 Q 0 0 14 0 L 34 0 Q 48 0 48 14 L 48 31 Q 48 43 40 50 L 29 60 Q 24 65 19 60 L 8 50 Q 0 43 0 31 Z'); border-radius: 16px 16px 20px 20px; }
.nvz-rr-center { position: absolute; top: 50%; left: 50%; width: 86px; height: 86px; margin: -43px 0 0 -43px; background: radial-gradient(circle at 34% 24%, #fffaf6 0%, #f1dfcf 42%, #d7bea6 100%); border: 2px solid rgba(176,135,91,.68); -webkit-clip-path: none; clip-path: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 5; box-shadow: inset 0 2px 0 rgba(255,255,255,.72), inset 0 -7px 14px rgba(95,67,52,.10), 0 8px 18px rgba(80,55,45,.20); transform-origin: 50% 50%; transform: rotate(0deg); backface-visibility: hidden; }
.nvz-rr-center span { font-family: Georgia, 'Times New Roman', serif; font-size: 44px; color: #5b3b31; text-shadow: 0 1px 0 rgba(255,255,255,.72), 0 -1px 0 rgba(80,55,45,.18); line-height: 1; margin-top: 0; }
.nvz-rr-segment { position: absolute; top: 50%; left: 50%; width: 124px; min-height: 84px; margin-left: -62px; margin-top: -176px; transform-origin: 62px 176px; text-align: center; font-size: 12.2px; line-height: 1.08; font-weight: 700; color: #4b302c; display: flex; align-items: center; justify-content: center; padding: 2px; z-index: 3; }
.nvz-rr-segment-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; max-width: 112px; }
.nvz-rr-segment span { display: block; max-width: 112px; overflow-wrap: anywhere; }
.nvz-rr-segment-img { width: 40px; height: 40px; object-fit: cover; border-radius: 50%; border: 1px solid rgba(255,255,255,.68); box-shadow: 0 3px 8px rgba(80,55,45,.18); background:#fff; display:block; }
.nvz-rr-segment-1 { transform: rotate(0deg); }
.nvz-rr-segment-2 { transform: rotate(60deg); }
.nvz-rr-segment-3 { transform: rotate(120deg); }
.nvz-rr-segment-4 { transform: rotate(180deg); }
.nvz-rr-segment-5 { transform: rotate(240deg); }
.nvz-rr-segment-6 { transform: rotate(300deg); }
.nvz-rr-segment-2 .nvz-rr-segment-inner { transform: rotate(-60deg); }
.nvz-rr-segment-3 .nvz-rr-segment-inner { transform: rotate(-120deg); }
.nvz-rr-segment-4 .nvz-rr-segment-inner { transform: rotate(-180deg); }
.nvz-rr-segment-5 .nvz-rr-segment-inner { transform: rotate(-240deg); }
.nvz-rr-segment-6 .nvz-rr-segment-inner { transform: rotate(-300deg); }
.nvz-rr-segment.is-selected .nvz-rr-segment-inner { color: var(--nvz-rr-rose-dark); text-shadow: 0 1px 0 rgba(255,255,255,.72); transform: scale(1.035); }
.nvz-rr-segment.is-selected::before { content: ''; position: absolute; inset: -2px 6px; border-radius: 999px; background: rgba(255,248,244,.36); z-index: -1; border: 1px solid rgba(183,111,114,.22); box-shadow: 0 4px 14px rgba(183,111,114,.12); }
.nvz-rr-spark { position: absolute; color: var(--nvz-rr-rose); font-size: 30px; opacity: .72; pointer-events:none; animation: nvzRrSpark 2.6s ease-in-out infinite; }
.nvz-rr-spark-a { left: 22px; top: 72px; }
.nvz-rr-spark-b { right: 24px; bottom: 82px; animation-delay:.8s; }
.nvz-rr-copy { min-width: 0; }
.nvz-rr-copy h2 { font-family: Georgia, 'Times New Roman', serif; color: var(--nvz-rr-brown); font-size: clamp(32px, var(--nvz-rr-title-size, 48px), 52px); line-height: 1.02; margin: 0 0 14px; font-weight: 700; letter-spacing: -.02em; max-width: 455px; }
.nvz-rr-copy p { font-size: var(--nvz-rr-body-size, 16px); line-height: 1.48; margin: 0 0 16px; color: #4a3430; }
.nvz-rr-subtitle { color: var(--nvz-rr-rose); font-size: var(--nvz-rr-subtitle-size, 22px) !important; font-weight: 700; }
.nvz-rr-info { background: rgba(225, 204, 191, .58); border-radius: 12px; padding: 13px 16px; font-size: var(--nvz-rr-info-size, 14px); margin: 18px 0; border: 1px solid rgba(183,111,114,.14); color:#523733; }
.nvz-rr-info::before { content: 'ⓘ'; color: var(--nvz-rr-rose); font-weight: 700; margin-right: 8px; }
.nvz-rr-info-warning { background: rgba(255, 232, 220, .95); }
.nvz-rr-btn { width: 100%; min-height: 54px; border: 0; border-radius: 999px; background: linear-gradient(90deg, var(--nvz-rr-rose), var(--nvz-rr-rose-2)); color: #fff !important; font-size: 19px; line-height:1.15; font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 14px; text-align:center; text-decoration: none !important; box-shadow: 0 12px 22px rgba(183,111,114,.25); transition: transform .2s ease, opacity .2s ease, box-shadow .2s ease; padding: 0 26px; white-space: normal; }
.nvz-rr-btn:hover { transform: translateY(-1px); opacity: .96; box-shadow: 0 15px 26px rgba(183,111,114,.30); }
.nvz-rr-btn.is-disabled { cursor: wait; opacity: .78; pointer-events:none; }
.nvz-rr-link { display: block; text-align: center; color: var(--nvz-rr-rose-dark) !important; text-decoration: underline !important; margin-top: 14px; }
.nvz-rr-helper { text-align: center; color: #98746f !important; margin: 12px 0 0 !important; }
.nvz-rr-state { display: none !important; }
.nvz-rr-state.is-active { display: block !important; animation: nvzRrStateIn .28s ease both; }
.nvz-rr-loader { width: 22px; height: 22px; border-radius: 50%; border: 3px solid rgba(255,255,255,.45); border-top-color: #fff; animation: nvzRrLoader .8s linear infinite; }
.nvz-rr-code-box { position: relative; background: rgba(225,204,191,.58); border-radius: 14px; padding: 16px 62px 15px 20px; margin: 16px 0; border: 1px solid rgba(183,111,114,.16); text-align: center; min-width:0; }
.nvz-rr-code-box small { display: block; margin-bottom: 5px; font-size: 13px; color: #65443f; }
.nvz-rr-code-box strong { display: block; font-size: clamp(22px, 2.35vw, 31px); line-height: 1.08; color: var(--nvz-rr-rose); letter-spacing: .5px; overflow-wrap: anywhere; word-break: break-word; }
.nvz-rr-code-box strong.is-long-code { font-size: clamp(18px, 1.8vw, 24px); letter-spacing: .25px; }
.nvz-rr-copy-code { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); border: 1px dashed var(--nvz-rr-rose); background: rgba(255,255,255,.22); color: var(--nvz-rr-rose); border-radius: 9px; width: 40px; height: 40px; font-size: 22px; cursor: pointer; }
.nvz-rr-footer { border-top: 1px solid rgba(183,111,114,.20); text-align: center; padding: 18px 24px 22px; font-size: var(--nvz-rr-info-size, 14px); color: #5d403b; }
.nvz-rr-mobile-spin { display: none !important; margin-top: 20px; max-width: 330px; }
.nvz-rr-root:not(.is-state-start) .nvz-rr-mobile-spin { display:none !important; }
.nvz-rr-retry { margin-bottom: 10px; }
@keyframes nvzRrFadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes nvzRrModalIn { from { opacity:0; transform: translateY(12px) scale(.985); } to { opacity:1; transform: translateY(0) scale(1); } }
@keyframes nvzRrStateIn { from { opacity:0; transform: translateY(7px); } to { opacity:1; transform: translateY(0); } }
@keyframes nvzRrLoader { to { transform: rotate(360deg); } }
@keyframes nvzRrWheelGlow { from { filter: drop-shadow(0 0 0 rgba(183,111,114,0)); } to { filter: drop-shadow(0 0 14px rgba(183,111,114,.18)); } }
@keyframes nvzRrSpark { 0%,100% { opacity:.42; transform: scale(.92) rotate(0deg); } 50% { opacity:.95; transform: scale(1.08) rotate(8deg); } }
@media (min-width: 821px) { .nvz-rr-hide-desktop { display: none !important; } }
@media (max-width: 1080px) and (min-width: 821px) {
  :root { --nvz-rr-wheel-size: 340px; }
  .nvz-rr-modal { width: min(1000px, calc(100vw - 30px)); }
  .nvz-rr-content { gap: 36px; padding: 50px 42px 32px; grid-template-columns: minmax(350px, .9fr) minmax(340px, 1fr); }
  .nvz-rr-segment { width: 114px; margin-left:-57px; margin-top:-158px; transform-origin:57px 158px; font-size:11px; min-height:74px; }
  .nvz-rr-segment-inner,.nvz-rr-segment span { max-width:104px; }
}
@media (max-width: 820px) {
  :root { --nvz-rr-wheel-size: 282px; }
  .nvz-rr-hide-mobile { display: none !important; }
  .nvz-rr-modal { width: calc(100vw - 18px); margin-top: 9px; border-radius: 20px; max-height: calc(100vh - 18px); }
  .nvz-rr-content { grid-template-columns: 1fr; padding: 42px 20px 24px; gap: 16px; }
  .nvz-rr-wheel-wrap { min-height: auto; padding-top: 8px; order: 1; }
  .nvz-rr-copy { order: 2; }
  .nvz-rr-pointer { top: 0; width: 40px; height: 52px; font-size: 17px; padding-top:8px; }
  .nvz-rr-center { width: 62px; height: 62px; margin: -31px 0 0 -31px; }
  .nvz-rr-center span { font-size: 32px; }
  .nvz-rr-segment { width: 94px; margin-left: -47px; margin-top: -130px; transform-origin: 47px 130px; font-size: 9px; min-height: 54px; }
  .nvz-rr-segment-inner { max-width: 84px; }
  .nvz-rr-segment span { max-width: 84px; }
  .nvz-rr-segment-img { width: 28px; height: 28px; }
  .nvz-rr-copy h2 { font-size: min(var(--nvz-rr-title-size, 40px), 36px); max-width:100%; }
  .nvz-rr-subtitle { font-size: min(var(--nvz-rr-subtitle-size, 20px), 20px) !important; }
  .nvz-rr-desktop-spin { display: none !important; }
  .nvz-rr-root.is-state-start .nvz-rr-mobile-spin { display: flex !important; }
  .nvz-rr-btn { min-height: 52px; font-size: 17px; }
  .nvz-rr-code-box strong { font-size: 23px; }
  .nvz-rr-code-box strong.is-long-code { font-size: 18px; }
}
@media (max-width: 380px) {
  :root { --nvz-rr-wheel-size: 250px; }
  .nvz-rr-content { padding-left:14px; padding-right:14px; }
  .nvz-rr-segment { width:82px; margin-left:-41px; margin-top:-114px; transform-origin:41px 114px; font-size:8px; }
  .nvz-rr-segment-inner,.nvz-rr-segment span { max-width:74px; }
}
