/* 広場のハロウィン（HALLOWEEN1006）— page-community-halloween.php・js/halloween.js */
:root{--nv-plum:#1d2147;--nv-plum2:#2a2c55;--nv-or:#e8743b;--nv-pk:#e85d9f;--nv-mg:#c0418a;--nv-pu:#8d6fd1;--nv-gd:#f6cf49;--nv-cream:#fff7ec;--nv-ink:#2e1a3d}
*{box-sizing:border-box}
html.nvp-h,body.nvp{margin:0;min-height:100%;background:var(--nv-plum);color:#fff;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;-webkit-text-size-adjust:100%}
body.nvp{background:radial-gradient(120% 60% at 50% 0%,#5b2f86 0%,#1d2147 60%) fixed,#1d2147}
button{font:inherit;cursor:pointer}
img{max-width:100%}
.nv{max-width:560px;margin:0 auto;padding:0 0 calc(40px + env(safe-area-inset-bottom))}
.nv__boot{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.nv__boot b{font-size:22px}
.nv-err{padding:40px 16px;text-align:center}

/* 上の帯 */
.nv-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:rgba(42,20,64,.94);backdrop-filter:blur(6px)}
.nv-top h1{margin:0;font-size:17px;font-weight:800;white-space:nowrap}
.nv-back{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;font-size:24px;line-height:1}
.nv-bal{margin-left:auto;display:flex;gap:5px;min-width:0}
.nv-chip{display:inline-flex;align-items:center;gap:3px;height:30px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;border:0;font-size:14px;white-space:nowrap}
.nv-chip img{width:20px;height:20px;object-fit:contain}
.nv-chip i{font-style:normal}
.nv-chip b{font-size:14px}
.nv-chip.is-tomo{background:linear-gradient(135deg,var(--nv-or),var(--nv-pk))}
.nv-chip.is-tomo span{font-weight:800;margin-left:2px}
.nv-period{margin:6px 14px 0;font-size:14px;color:#e8dcf5;line-height:1.5}
.nv-tabs{position:sticky;top:calc(50px + env(safe-area-inset-top));z-index:19;display:flex;gap:4px;overflow-x:auto;padding:8px 10px;background:rgba(42,20,64,.94);scrollbar-width:none}
.nv-tabs::-webkit-scrollbar{display:none}
.nv-tabs button{flex:0 0 auto;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#eadff7;font-size:14px;font-weight:700}
.nv-tabs button[aria-selected=true]{background:#fff;color:var(--nv-plum);border-color:#fff}
.nv-main{padding:6px 12px 0}
.nv-h2{margin:22px 2px 8px;font-size:15px;font-weight:800;color:#fff}
.nv-note{margin:8px 2px;font-size:14px;line-height:1.7;color:#e3d6f2}
.nv-note--card{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08)}
.nv-links{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin:14px 0 4px}
.nv-link{border:0;background:none;color:#ffd7ee;text-decoration:underline;font-size:14px;padding:6px 0}

/* ボタン */
.nv-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:54px;padding:8px 10px;border-radius:16px;border:0;color:#fff;font-weight:800;text-decoration:none;text-align:center;box-shadow:0 4px 0 rgba(0,0,0,.25)}
.nv-btn b{font-size:17px}
.nv-btn span{font-size:14px;opacity:.95}
.nv-btn em{font-style:normal;font-size:14px;padding:1px 8px;border-radius:999px;background:rgba(255,255,255,.22)}
.nv-btn:disabled{opacity:.45;box-shadow:none}
.nv-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 rgba(0,0,0,.25)}
.nv-btn--one{background:linear-gradient(135deg,#8d6fd1,#6b4bb8)}
.nv-btn--ten{background:linear-gradient(135deg,var(--nv-or),var(--nv-pk))}
.nv-btn--tix{margin-top:10px;background:linear-gradient(135deg,#3fb59a,#2a8f7a);min-height:46px;font-size:14px}
.nv-btn--ring{margin:10px 0;background:linear-gradient(135deg,#f6cf49,#d9902a);color:#2a2c55;min-height:48px}
.nv-btn--go{margin-top:12px;background:linear-gradient(135deg,var(--nv-or),var(--nv-pk))}
.nv-btn--sub{background:rgba(255,255,255,.16)}
.nv-mini{min-height:34px;padding:6px 12px;border-radius:999px;border:0;background:#fff;color:var(--nv-plum2);font-size:14px;font-weight:800}
.nv-mini:disabled{opacity:.5}
.nv-mini--buy{background:linear-gradient(135deg,var(--nv-or),var(--nv-pk));color:#fff}
.nv-mini.is-on{background:#ffe1ef;color:#a01d63}
.nv-row{display:flex;gap:8px;margin-top:12px}
.nv-row>*{flex:1}

/* ガチャ */
.nv-g__stage{position:relative;margin-top:6px;height:min(86vw,380px);min-height:250px;border-radius:22px;overflow:hidden;background:#3a1d58 center/cover no-repeat}
.nv-g__sign{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:86%;aspect-ratio:1080/400;max-height:118px;background:center/contain no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.nv-g__sign b{font-size:clamp(17px,5vw,22px)}
.nv-g__sign small{font-size:14px;color:#ffe9b8}
.nv-g__mach{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);width:62%;max-width:250px;animation:nvBob 3s ease-in-out infinite}
.nv-g__mach img{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45))}
.nv-g__caps{position:absolute;inset:auto 0 6% 0;height:40%;pointer-events:none}
.nv-g__caps .nv-cap{position:absolute;width:15%;max-width:64px;animation:nvBob 2.6s ease-in-out infinite}
.nv-g__caps .nv-cap--n{left:4%;bottom:6%}
.nv-g__caps .nv-cap--r{left:15%;bottom:44%;animation-delay:.4s}
.nv-g__caps .nv-cap--sr{right:15%;bottom:44%;animation-delay:.8s}
.nv-g__caps .nv-cap--ur{right:4%;bottom:6%;animation-delay:1.2s}
@keyframes nvBob{0%,100%{translate:0 0}50%{translate:0 -6px}}
/* カプセル: 絵が無いときは CSS のたまご形（上が透明・下が色・リボン） */
.nv-cap{display:inline-block;aspect-ratio:1}
.nv-cap img{width:100%;height:100%;object-fit:contain}
.nv-cap i{display:block;width:72%;height:92%;margin:4% auto 0;border-radius:50% 50% 46% 46%/60% 60% 40% 40%;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.55) 0 48%,var(--c1,#e8743b) 48% 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.7),0 3px 6px rgba(0,0,0,.3)}
.nv-cap i::after{content:"";position:absolute;left:-6%;right:-6%;top:44%;height:10%;background:#8d6fd1;border-radius:4px;transform:rotate(-12deg)}
.nv-cap--r i{--c1:#8d6fd1}.nv-cap--r i::after{background:#e8743b}
.nv-cap--sr i{--c1:#f6cf49}
.nv-cap--ur i{--c1:conic-gradient(#ff9ec7,#c9a8ff,#9fe6cf,#ffe08a,#ff9ec7);background:linear-gradient(180deg,rgba(255,255,255,.55) 0 48%,transparent 48%),conic-gradient(#ff9ec7,#c9a8ff,#9fe6cf,#ffe08a,#ff9ec7)}
.nv-cauldron{display:block;width:100%;aspect-ratio:1;border-radius:50% 50% 44% 44%;background:radial-gradient(60% 20% at 50% 14%,#ffb7da,#c05ad0 70%,transparent 72%),radial-gradient(70% 60% at 50% 60%,#4a2b6b,#1e0f30)}
.nv-g__road{display:block;margin:12px 0 0;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.1);cursor:pointer}
.nv-g__bar{display:block;height:10px;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden}
.nv-g__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--nv-or),var(--nv-pk),var(--nv-gd))}
.nv-g__rl{display:block;margin-top:8px;font-size:14px}
.nv-g__rl b{color:var(--nv-gd)}
.nv-g__nx{display:block;margin-top:2px;font-size:14px;color:#e3d6f2}
.nv-g__btns{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin-top:12px}
.nv-free{margin-top:14px;padding:12px;border-radius:16px;background:rgba(255,255,255,.08);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nv-free__h{width:100%;margin:0;font-size:14px;color:#e3d6f2}

/* 引く演出 */
.nv-pull{position:fixed;inset:0;z-index:100;overflow:hidden;background:#1a0b2c}
.nv-pull__bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:.85}
.nv-pull__glow{position:absolute;left:50%;top:58%;width:130vmin;height:130vmin;transform:translate(-50%,-50%) scale(.4);background:center/contain no-repeat;opacity:0;animation:nvGlow 1.6s .2s ease forwards}
.nv-pull__mach{position:absolute;left:50%;bottom:16%;width:min(66vw,280px);transform:translateX(-50%);animation:nvShake .5s .2s ease-in-out 2}
.nv-pull__mach img{width:100%;display:block}
.nv-pull__cap{position:absolute;left:50%;top:-30%;width:min(30vw,130px);transform:translateX(-50%);animation:nvDrop .8s 1.1s cubic-bezier(.3,1.4,.5,1) forwards}
.nv-pull__cap .nv-cap{width:100%}
.nv-pull__fx{position:absolute;left:50%;top:40%;width:150vmin;height:150vmin;transform:translate(-50%,-50%) scale(.2);background:center/contain no-repeat;opacity:0;animation:nvOpen 1.1s 1.8s ease forwards}
.nv-pull.is-sr .nv-pull__fx,.nv-pull.is-ur .nv-pull__fx,.nv-pull.is-lr .nv-pull__fx{animation:nvOpen 1.2s 1.8s ease forwards,nvSpin 8s 1.8s linear infinite}
.nv-pull.is-ur .nv-pull__bg,.nv-pull.is-lr .nv-pull__bg{animation:nvRainbow 1.4s 1.8s ease forwards}
.nv-pull__skip{position:absolute;right:14px;top:calc(14px + env(safe-area-inset-top));z-index:2;padding:8px 14px;border-radius:999px;border:0;background:rgba(255,255,255,.2);color:#fff;font-weight:700}
.nv-pull.is-reduced *{animation-duration:.01s!important;animation-delay:0s!important}
@keyframes nvGlow{to{opacity:.9;transform:translate(-50%,-50%) scale(1)}}
@keyframes nvShake{0%,100%{transform:translateX(-50%) rotate(0)}25%{transform:translateX(-52%) rotate(-3deg)}75%{transform:translateX(-48%) rotate(3deg)}}
@keyframes nvDrop{to{top:30%}}
@keyframes nvOpen{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}40%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes nvSpin{to{rotate:360deg}}
@keyframes nvRainbow{to{filter:hue-rotate(60deg) saturate(1.4)}}

/* 指輪の当たり */
.nv-win{position:fixed;inset:0;z-index:110;overflow:hidden;background:#0b0516;cursor:pointer;animation:nvFade .4s ease both}
.nv-win__bg,.nv-win__fg{position:absolute;inset:0;background:center/cover no-repeat}
.nv-win__burst{position:absolute;left:50%;top:46%;width:140vmin;height:140vmin;transform:translate(-50%,-50%);background:center/contain no-repeat;animation:nvSpin 10s linear infinite;opacity:.9}
.nv-win__c{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:0 20px}
.nv-win__l{margin:0;padding:4px 14px;border-radius:999px;background:rgba(246,207,73,.92);color:#2a2c55;font-weight:800;font-size:14px}
.nv-win__c img{width:min(56vw,240px);height:auto;filter:drop-shadow(0 0 24px rgba(246,207,73,.8));animation:nvPop .8s cubic-bezier(.3,1.5,.5,1) both}
.nv-win__c b{font-size:22px;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.nv-win__c span{font-size:14px;text-shadow:0 2px 6px rgba(0,0,0,.7)}
.nv-win__c small{margin-top:10px;font-size:14px;opacity:.8}
@keyframes nvPop{from{transform:scale(.2) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}
@keyframes nvFade{from{opacity:0}}

/* シート */
.nv-ov{position:fixed;inset:0;z-index:90;background:rgba(10,4,20,.6);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .2s}
.nv-ov.is-in{opacity:1}
.nv-sheet{position:relative;width:100%;max-width:560px;max-height:88vh;overflow:auto;padding:18px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#fff;color:var(--nv-ink);transform:translateY(20px);transition:transform .22s}
.nv-ov.is-in .nv-sheet{transform:none}
.nv-sheet h2{margin:0 36px 8px 0;font-size:17px}
.nv-sheet h3{margin:16px 0 6px;font-size:14px}
.nv-sheet .nv-note{color:#5a4a6c}
.nv-x{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;border:0;background:#f1eaf7;color:#2a2c55;font-size:20px}
.nv-rt{width:100%;border-collapse:collapse;font-size:14px}
.nv-rt th,.nv-rt td{padding:7px 8px;border-bottom:1px solid #eee3f5;text-align:left}
.nv-rt td{text-align:right;font-weight:800}
.nv-main .nv-rt{color:#fff}.nv-main .nv-rt th,.nv-main .nv-rt td{border-color:rgba(255,255,255,.14)}
.nv-rl{list-style:none;margin:0;padding:0}
.nv-rl li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid #f1e8f7}
.nv-rl img,.nv-rl i{width:40px;height:40px;object-fit:contain;flex:0 0 40px;border-radius:8px;background:#f6effb}
.nv-rl span{flex:1;font-size:14px;line-height:1.35}
.nv-rl small{display:block;font-size:14px;color:#7a6a8c}
.nv-rl b{font-size:14px}
.nv-rar{display:inline-block;min-width:28px;padding:1px 7px;border-radius:6px;font-size:14px;font-weight:800;text-align:center;color:#fff;background:#9a8fb0}
.nv-rar--r{background:#8d6fd1}.nv-rar--sr{background:#d9902a}.nv-rar--ur{background:linear-gradient(90deg,#ff7eb6,#a37bff,#4ccfb0)}.nv-rar--lr{background:linear-gradient(90deg,#f6cf49,#e8743b,#e85d9f);color:#1d2147}
.nv-res{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.nv-res li{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:12px;background:#f8f2fc;text-align:center}
.nv-res li img,.nv-res li i{width:58px;height:58px;object-fit:contain}
.nv-res li b{font-size:14px;line-height:1.3}
.nv-res li small{font-size:14px;color:#7a6a8c}
.nv-res li.is-sr{background:#fff6dd}.nv-res li.is-ur{background:linear-gradient(135deg,#ffe8f3,#efe6ff,#e3fbf3)}.nv-res li.is-lr{background:linear-gradient(135deg,#fff3c4,#ffd9ec);box-shadow:0 0 0 2px #f6cf49}
.nv-roadgot{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff4e6}
.nv-roadgot p{margin:0 0 4px;font-weight:800;font-size:14px}
.nv-roadgot ul{list-style:none;margin:0;padding:0}
.nv-roadgot li{display:flex;align-items:center;gap:8px;font-size:14px;padding:3px 0}
.nv-roadgot img{width:32px;height:32px;object-fit:contain}
.nv-why{margin:0 0 6px;padding:8px 12px;border-radius:10px;background:#fff1e0;color:#8a3b00;font-weight:700;font-size:14px}
.nv-mail{display:block;margin:12px 0 4px}
.nv-mail span{display:block;font-size:14px;color:#5a4a6c;margin-bottom:4px}
.nv-mail input{width:100%;height:46px;padding:0 12px;border-radius:12px;border:1.5px solid #d8c8ea;font-size:16px}
.nv-msg{min-height:1.4em;margin:6px 0 0;font-size:14px;color:#a01d63;font-weight:700}

/* 束 */
.nv-packs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.nv-pack{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 10px;border-radius:16px;border:1.5px solid #ecdcf7;background:linear-gradient(180deg,#fff,#fbf4ff);color:var(--nv-ink);text-align:center}
.nv-pack img,.nv-pack i{width:84px;height:84px;object-fit:contain}
.nv-pack b{font-size:15px}
.nv-pack span{font-size:14px;color:#6b5a80;line-height:1.35}
.nv-pack em{font-style:normal;margin-top:4px;padding:4px 14px;border-radius:999px;background:linear-gradient(135deg,var(--nv-or),var(--nv-pk));color:#fff;font-weight:800;font-size:14px}
.nv-pack small{font-size:14px;color:#7a6a8c;line-height:1.35}
.nv-pack.is-first{border-color:#f6cf49;background:linear-gradient(180deg,#fffaf0,#fff2f8)}
.nv-pack__first{position:absolute;left:-4px;top:-8px;padding:3px 10px;border-radius:999px;background:linear-gradient(135deg,#e85d9f,#c0418a);color:#fff;font-size:14px;font-weight:800;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.nv-note--pick{margin-top:12px;font-weight:700;color:#2a2c55!important}
.nv-shop .nv-packs .nv-pack{border-color:rgba(255,255,255,.3)}

/* 売り場・着せ替え */
.nv-shop__bn{position:relative;margin-top:6px;aspect-ratio:1080/540;border-radius:18px;background:center/cover no-repeat;display:flex;flex-direction:column;justify-content:center;padding-left:16px;overflow:hidden}
.nv-shop__bn::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,10,44,.8),rgba(26,10,44,0) 65%)}
.nv-shop__bn b,.nv-shop__bn small{position:relative;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.nv-shop__bn b{font-size:20px}
.nv-shop__bn small{font-size:14px}
.nv-gifts,.nv-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(102px,1fr));gap:8px}
.nv-gifts li,.nv-items li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:14px;background:rgba(255,255,255,.1);text-align:center}
.nv-items li.is-on{background:rgba(255,225,239,.22);box-shadow:inset 0 0 0 2px #ff9ec7}
.nv-gifts img,.nv-gifts i{width:64px;height:64px;object-fit:contain}
.nv-gifts b,.nv-items b{font-size:14px;line-height:1.3}
.nv-gifts span{font-size:14px;color:#f1e6fb;display:flex;flex-direction:column;align-items:center;gap:2px}
.nv-gifts small{font-size:14px;color:#ffd7ee}
.nv-gr{font-style:normal;font-size:14px;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.2)}
.nv-gr--2{background:#d9902a;color:#1d2147}.nv-gr--3{background:linear-gradient(90deg,#ff7eb6,#a37bff);color:#fff}
.nv-own{font-size:14px;color:#bdf5df;font-weight:700}
.nv-th{display:flex;align-items:center;justify-content:center;width:100%;height:72px}
.nv-th img{max-width:72px;max-height:72px;object-fit:contain}
.nv-th--frame{position:relative;width:72px}
.nv-th--frame i{position:absolute;inset:15%;border-radius:50%;background:linear-gradient(135deg,#c9b4ef,#ffd1e6);z-index:0}
.nv-th--frame img{position:relative;z-index:1;width:72px;height:72px}
.nv-th--bg{width:56px;height:84px;margin:0 auto;border-radius:10px;background:#2a2c55 center/cover no-repeat;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.nv-th--bubble span{display:inline-block;max-width:100%;padding:2px 6px;border:14px solid transparent;border-image:var(--i) 64 fill/14px/0 stretch;background:var(--f) padding-box;border-radius:18px;color:#2e1a3d;font-size:14px;font-weight:700;white-space:nowrap}
.nv-th--plate span,.nv-th--title span{display:inline-block;padding:4px 4px;border:solid transparent;border-width:0 22px;border-image:var(--i) 0 120 fill/0 22px/0 stretch;background:var(--c) padding-box;border-radius:999px;color:#fff;font-size:14px;font-weight:800;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.4);max-width:100%;overflow:hidden;text-overflow:ellipsis}
.nv-th--title span{border-image:var(--i) 0 112 fill/0 20px/0 stretch;border-width:0 20px;font-size:14px}
.nv-th--entry{position:relative;height:60px}
.nv-th--entry .r{position:absolute;left:10px;right:0;top:18px;width:calc(100% - 10px);height:24px;object-fit:fill;max-width:none;max-height:none}
.nv-th--entry .v{position:absolute;left:0;top:0;width:56px;height:56px}

/* すごろく */
.nv-road{margin-top:6px;padding:14px 10px 18px;border-radius:22px;background:#1d2147 center top/cover no-repeat}
.nv-road__head{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;background:rgba(26,10,44,.72)}
.nv-road__head b{font-size:16px}
.nv-road__head span{font-size:14px;line-height:1.6;color:#eadff7}
.nv-road__now{color:var(--nv-gd)!important;font-weight:800}
.nv-road__list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.nv-road__s{position:relative;display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:16px;background:rgba(26,10,44,.62)}
.nv-road__s.is-r{flex-direction:row-reverse;text-align:right}
.nv-road__s.is-done{opacity:.62}
.nv-road__s.is-here{box-shadow:0 0 0 2px var(--nv-gd);opacity:1}
.nv-road__s.is-goal{background:linear-gradient(135deg,rgba(246,207,73,.35),rgba(232,93,159,.35));box-shadow:0 0 0 2px var(--nv-gd)}
.nv-road__tile{flex:0 0 56px;height:56px;border-radius:50%;background:#8d6fd1 center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.nv-road__tile b{font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.nv-road__tok{position:absolute;top:-10px;width:40px;height:40px;animation:nvBob 1.6s ease-in-out infinite}
.nv-road__s.is-l .nv-road__tok{left:42px}.nv-road__s.is-r .nv-road__tok{right:42px}
.nv-road__tok img{width:100%;height:100%;object-fit:contain}
.nv-road__g{flex:1;display:flex;align-items:center;gap:8px;min-width:0}
.nv-road__s.is-r .nv-road__g{flex-direction:row-reverse}
.nv-road__g img{width:48px;height:48px;object-fit:contain;flex:0 0 48px}
.nv-road__g span{font-size:14px;line-height:1.4;font-weight:700}
.nv-road__g em{font-style:normal;font-size:14px;color:#bdf5df;white-space:nowrap}
.nv-road__s.is-goal .nv-road__g img{width:64px;height:64px;flex-basis:64px}

/* ミッション */
.nv-mis ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.nv-mis li{padding:12px;border-radius:14px;background:rgba(255,255,255,.1)}
.nv-mis li.is-ok{background:rgba(63,181,154,.22)}
.nv-mis__t{display:flex;justify-content:space-between;gap:8px;font-size:14px}
.nv-mis__bar{display:block;height:8px;margin:8px 0;border-radius:6px;background:rgba(255,255,255,.18);overflow:hidden}
.nv-mis__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--nv-or),var(--nv-pk))}
.nv-mis__rw{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:14px;color:#f1e6fb}
.nv-mis__rw em{font-style:normal;color:#bdf5df;font-weight:700}

/* 指輪 */
.nv-pick{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.nv-pick li>button,.nv-pick__c{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:14px;border:0;background:rgba(255,255,255,.1);color:inherit;text-align:center}
.nv-sheet .nv-pick li>button{background:#f8f2fc}
.nv-pick img,.nv-pick i{width:72px;height:72px;object-fit:contain}
.nv-pick b{font-size:14px;line-height:1.3}
.nv-pick small{font-size:14px;opacity:.8}
.nv-tray{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;min-height:110px;padding:20px 10px;border-radius:16px;background:rgba(255,255,255,.08) center/100% 100% no-repeat}
.nv-tray__i{width:56px;height:56px;border-radius:50%;border:0;background:rgba(42,20,64,.75);padding:4px;box-shadow:inset 0 0 0 2px rgba(246,207,73,.5)}
.nv-tray__i.is-lead{box-shadow:inset 0 0 0 3px #f6cf49,0 0 12px rgba(246,207,73,.7)}
.nv-tray__i img{width:100%;height:100%;object-fit:contain}

/* 続きから・知らせ */
.nv-cont{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:18px;background:#fff;color:var(--nv-ink);box-shadow:0 8px 24px rgba(0,0,0,.35);max-width:536px;margin:0 auto}
.nv-cont span{flex:1;font-size:14px;font-weight:700}
.nv-cont .nv-btn{width:auto;min-height:42px;padding:6px 14px;flex-direction:row}
.nv-x2{width:30px;height:30px;border-radius:50%;border:0;background:#f1eaf7}
.nv-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,20px);z-index:120;max-width:90vw;padding:10px 16px;border-radius:999px;background:#fff;color:var(--nv-ink);font-size:14px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.nv-toast.is-on{opacity:1;transform:translate(-50%,0)}
.nv-toast.is-bad{background:#ffe8ef;color:#a01d63}

/* 入室の演出（見本） */
.nv-entry{position:fixed;left:0;right:0;top:30%;z-index:130;height:96px;pointer-events:none}
.nv-entry__rb{position:absolute;left:40px;right:0;top:22px;height:56px;background:center/100% 100% no-repeat,linear-gradient(90deg,#4b2a78,#6b2275);border-radius:28px 0 0 28px;display:flex;align-items:center;gap:6px;padding-left:76px;color:#fff;animation:nvEnRb 2.8s ease both}
.nv-entry__rb b{font-size:15px;max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-entry__rb small{font-size:14px;opacity:.9}
.nv-entry__ride{position:absolute;left:0;top:0;width:96px;height:96px;animation:nvEnRide 2.8s ease both}
@keyframes nvEnRb{0%{clip-path:inset(0 100% 0 0)}25%,80%{clip-path:inset(0 0 0 0);opacity:1}100%{opacity:0}}
@keyframes nvEnRide{0%{transform:translateX(-110px)}25%{transform:translateX(16px)}80%{transform:translateX(16px);opacity:1}100%{transform:translateX(120vw);opacity:0}}
@media (prefers-reduced-motion:reduce){.nv-g__mach,.nv-g__caps .nv-cap,.nv-road__tok{animation:none}}
.nv-age{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;background:#fff6ea;color:#5a3a12;font-weight:500}
.nv-age b{font-size:14px}
.nv-age__sel{display:flex;gap:8px}
.nv-age__sel select{flex:1;height:42px;border-radius:10px;border:1.5px solid #e6cfa6;font-size:16px;background:#fff}
.nv-age small{font-size:14px;color:#7a5a32}
.nv-age__ck{font-size:14px;display:flex;gap:6px;align-items:center}
.nv-age .nv-mini{align-self:flex-start}

/* ===== 点検の直し（1.1.0）: 押せる所は 44px 以上・文字と地の差 4.5:1 以上 ===== */
.nv-back{width:44px;height:44px}
.nv-chip{height:44px;padding:0 10px}
.nv-tabs button{min-height:44px;padding:8px 14px}
.nv-mini{min-height:44px;padding:8px 14px}
.nv-link{min-height:44px;display:inline-flex;align-items:center;padding:0 6px}
.nv-x{width:44px;height:44px}
.nv-x2{width:44px;height:44px}
.nv-pull__skip{min-height:44px;padding:10px 16px}
.nv-btn--ten,.nv-btn--go,.nv-chip.is-tomo,.nv-mini--buy,.nv-pack em,.nv-mis__bar i{background:linear-gradient(135deg,#a83a0c,#a82d66)}
.nv-g__bar i{background:linear-gradient(90deg,#c2561a,#c0418a,#d9902a)}
.nv-pack__first{background:linear-gradient(135deg,#9b2f73,#8f2a5e);color:#fff}
.nv-rar{color:#fff;background:#6e6587}
.nv-rar--r{background:#6b4bb8;color:#fff}
.nv-rar--sr{background:#f2b33d;color:#1d2147}
.nv-rar--ur{background:linear-gradient(90deg,#ffb3d6,#cdb4ff,#9fe6cf);color:#1d2147}
.nv-rar--lr{background:linear-gradient(90deg,#ffe08a,#ffd36b);color:#1d2147}
.nv-gr--2{background:#f2b33d;color:#1d2147}
.nv-gr--3{background:linear-gradient(90deg,#ffb3d6,#cdb4ff);color:#1d2147}
.nv-road__s.is-goal{background:linear-gradient(135deg,#5a2d0c,#5b1f47);box-shadow:0 0 0 2px var(--nv-gd)}
.nv-road__s.is-goal .nv-road__g span{color:#fff}
.nv-road__now{color:#ffe08a!important}
.nv-own{color:#bdf5df}
.nv-pz{display:flex;align-items:center;justify-content:center;width:100%;min-height:64px}
.nv-pz .nv-th{height:auto}
.nv-pz .nv-th--plate span,.nv-pz .nv-th--title span{font-size:14px;padding:6px 6px;max-width:150px}
.nv-rl .nv-pz{width:96px;flex:0 0 96px;min-height:44px}
.nv-free__n{width:100%;margin:2px 0 0;font-size:14px;color:#e3d6f2;line-height:1.6}
.nv-free .nv-mini{text-align:left}
.nv-back{flex:0 0 44px}
.nv-link{min-width:44px;justify-content:center}
.nv-top h1{font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis}
.nv-bal{gap:4px}
.nv-chip{padding:0 8px}
.nv-pz .nv-th{width:auto;max-width:100%}
.nv-pz .nv-th--plate span,.nv-pz .nv-th--title span{max-width:100%}
@media (max-width:380px){.nv-top h1{display:none}}
/* HWTOT1007 セラの合言葉の1行 */
.nv-tot{width:100%;margin:6px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.1);font-size:14px;line-height:1.6;color:#fff;display:flex;flex-direction:column;gap:8px}
.nv-tot .nv-mini{align-self:flex-start;display:inline-flex;align-items:center;text-decoration:none}
.nv-pack .nv-pack__first{color:#fff;line-height:1.4}

/* ===== NAMEPLATE1008 名前の帯・称号の札の見本（売り場・着せ替え・結果）: 角の丸い1枚の札＋両端の内側に飾り ===== */
.nv-th--plate span,.nv-th--title span,.nv-pz .nv-th--plate span,.nv-pz .nv-th--title span{position:relative;isolation:isolate;display:inline-block;padding:2px 1.85em;margin:0;border:0;border-image:none;background:var(--c) linear-gradient(180deg,rgba(255,255,255,0),rgba(0,0,0,.2));border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.18);line-height:1.55;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-th--plate span::before,.nv-th--plate span::after,.nv-th--title span::before,.nv-th--title span::after{content:"";position:absolute;top:0;bottom:0;width:1.75em;background-image:var(--i);background-repeat:no-repeat;background-size:auto 112%;pointer-events:none;z-index:-1}
.nv-th--plate span::before,.nv-th--title span::before{left:.05em;background-position:left center;-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent);mask-image:linear-gradient(90deg,#000 62%,transparent)}
.nv-th--plate span::after,.nv-th--title span::after{right:.05em;background-position:right center;-webkit-mask-image:linear-gradient(270deg,#000 62%,transparent);mask-image:linear-gradient(270deg,#000 62%,transparent)}
/* ===== GACHABTN1008 結果の画面の下のボタン: 見える・折れない・重ならない ===== */
.nv-sheet .nv-btn--sub{background:#efe7f7;color:#2a2c55;box-shadow:0 3px 0 rgba(58,35,80,.18)}
.nv-sheet .nv-row--res{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));z-index:2;margin:12px -16px calc(-20px - env(safe-area-inset-bottom));padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -6px 12px rgba(58,35,80,.08)}
.nv-sheet .nv-row--res .nv-btn{min-height:56px;white-space:nowrap}
.nv-sheet .nv-row--res .nv-btn b{font-size:16px}
.nv-sheet .nv-row--res .nv-btn span{font-size:14px}
body:has(.nv-ov) .nv-toast{bottom:auto;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%,-20px)}
body:has(.nv-ov) .nv-toast.is-on{transform:translate(-50%,0)}
/* ===== GACHAFX1008 引く演出 ===== */
.nv-pull{cursor:pointer}
.nv-pull__glow,.nv-pull__fx,.nv-pull__cap{animation:none!important}
.nv-pull__mach{animation:none!important;transform:translateX(-50%)}
.nv-pull.p1 .nv-pull__mach{animation:nvBoil .17s ease-in-out infinite!important}
.nv-pull.p2 .nv-pull__mach{animation:nvBoil .1s ease-in-out 3!important}
.nv-pull.p1 .nv-pull__glow{animation:nvGlow .8s ease forwards!important}
.nv-pull__bub{position:absolute;left:0;right:0;top:-6%;height:40%;pointer-events:none}
.nv-pull__bub i{position:absolute;bottom:0;left:var(--x);width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#ffb7da 45%,rgba(192,90,208,.55));opacity:0}
.nv-pull.p1 .nv-pull__bub i{animation:nvBub .7s ease-out var(--d) infinite}
@keyframes nvBoil{0%,100%{transform:translateX(-50%) rotate(0) scale(1)}25%{transform:translateX(-51.5%) rotate(-2deg) scale(1.02,.98)}75%{transform:translateX(-48.5%) rotate(2deg) scale(.98,1.02)}}
@keyframes nvBub{0%{transform:translateY(0) scale(.5);opacity:0}20%{opacity:1}100%{transform:translateY(-120px) scale(1.2);opacity:0}}
.nv-pull__cap{top:52%!important;left:50%;width:min(30vw,130px);height:min(30vw,130px);transform:translate(-50%,0) scale(.2);opacity:0}
.nv-pull.p2 .nv-pull__cap{animation:nvJump .45s cubic-bezier(.2,1.4,.4,1) forwards!important}
@keyframes nvJump{0%{transform:translate(-50%,0) scale(.2);opacity:0;top:52%}60%{opacity:1}100%{transform:translate(-50%,-50%) scale(1);opacity:1;top:34%}}
.nv-pull.p2 .nv-pull__cap,.nv-pull.p3 .nv-pull__cap,.nv-pull.p4 .nv-pull__cap{top:34%!important;transform:translate(-50%,-50%) scale(1);opacity:1}
.nv-pull__half{position:absolute;inset:0;transition:transform .35s ease,opacity .35s ease}
.nv-pull__half .nv-cap{width:100%;height:100%}
.nv-pull__half.is-t{clip-path:inset(0 0 50% 0)}
.nv-pull__half.is-b{clip-path:inset(50% 0 0 0)}
.nv-pull.p3 .nv-pull__cap{animation:nvShake2 .12s linear 4!important}
@keyframes nvShake2{0%,100%{transform:translate(-50%,-50%) rotate(0)}50%{transform:translate(-50%,-50%) rotate(6deg)}}
.nv-pull.p3 .nv-pull__cap::after{content:"";position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,var(--nvglow,rgba(255,255,255,.55)),transparent 65%);animation:nvPulse .5s ease-in-out infinite}
.nv-pull.is-n{--nvglow:rgba(255,255,255,.45)}.nv-pull.is-r{--nvglow:rgba(190,160,255,.6)}.nv-pull.is-sr{--nvglow:rgba(255,212,90,.85)}
.nv-pull.is-ur,.nv-pull.is-lr{--nvglow:rgba(255,160,220,.9)}
.nv-pull.is-ur.p3 .nv-pull__cap::after,.nv-pull.is-lr.p3 .nv-pull__cap::after{background:conic-gradient(#ff9ec7,#c9a8ff,#9fe6cf,#ffe08a,#ff9ec7);filter:blur(14px);opacity:.85}
@keyframes nvPulse{0%,100%{transform:scale(.9);opacity:.7}50%{transform:scale(1.1);opacity:1}}
.nv-pull.p4 .nv-pull__half.is-t{transform:translateY(-40%) rotate(-18deg);opacity:0}
.nv-pull.p4 .nv-pull__half.is-b{transform:translateY(40%) rotate(14deg);opacity:0}
.nv-pull.p4 .nv-pull__fx{animation:nvOpen .9s ease forwards!important;top:34%!important}
.nv-pull.p4.is-sr .nv-pull__fx,.nv-pull.p4.is-ur .nv-pull__fx,.nv-pull.p4.is-lr .nv-pull__fx{animation:nvOpen .9s ease forwards,nvSpin 8s linear infinite!important}
.nv-pull.is-n.p4 .nv-pull__fx,.nv-pull.is-r.p4 .nv-pull__fx{opacity:.6;filter:saturate(.7)}
.nv-pull__flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}
.nv-pull.p4.is-ur .nv-pull__flash,.nv-pull.p4.is-lr .nv-pull__flash{animation:nvFlash .6s ease-out}
.nv-pull.p4.is-sr .nv-pull__flash{background:#ffe9a8;animation:nvFlash .45s ease-out}
@keyframes nvFlash{0%{opacity:0}15%{opacity:.85}100%{opacity:0}}
.nv-pull.is-ur .nv-pull__bg,.nv-pull.is-lr .nv-pull__bg{animation:none!important}
.nv-pull.p4.is-ur .nv-pull__bg,.nv-pull.p4.is-lr .nv-pull__bg{animation:nvRainbow 1.4s ease forwards!important}
/* 10回: 1枚ずつめくる */
.nv-pull__cards{position:absolute;left:12px;right:12px;top:calc(76px + env(safe-area-inset-top));display:none;grid-template-columns:repeat(5,1fr);gap:8px;z-index:3}
.nv-pull.p5 .nv-pull__cards{display:grid}
.nv-pull.p5 .nv-pull__cap,.nv-pull.p5 .nv-pull__fx{opacity:.25!important}
.nv-cd{position:relative;aspect-ratio:3/4;perspective:600px;animation:nvCdIn .25s ease calc(var(--i) * .03s) both}
.nv-cd__b,.nv-cd__f{position:absolute;inset:0;border-radius:10px;backface-visibility:hidden;transition:transform .35s ease}
.nv-cd__b{background:linear-gradient(135deg,#6b2275,#1d2147);box-shadow:inset 0 0 0 2px #f6cf49}
.nv-cd__b::after{content:"";position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,#e8743b 40%,#c2561a 70%,transparent 72%);opacity:.8}
.nv-cd__f{transform:rotateY(180deg);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:inset 0 0 0 2px #e8dcf5}
.nv-cd__f img{width:78%;height:auto;max-height:60%;object-fit:contain}
.nv-cd__f em{font-style:normal;font-size:14px;font-weight:800;color:#1d2147;line-height:1}
.nv-cd.is-open .nv-cd__b{transform:rotateY(180deg)}
.nv-cd.is-open .nv-cd__f{transform:rotateY(360deg)}
.nv-cd.is-sr .nv-cd__f{background:#fff6dd;box-shadow:inset 0 0 0 2px #f2b33d,0 0 14px rgba(246,207,73,.8)}
.nv-cd.is-ur .nv-cd__f,.nv-cd.is-lr .nv-cd__f{background:linear-gradient(135deg,#ffe8f3,#efe6ff,#e3fbf3);box-shadow:inset 0 0 0 2px #c9a8ff,0 0 18px rgba(255,158,199,.9)}
@keyframes nvCdIn{from{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:none}}
.nv-pull__snd{position:absolute;left:14px;top:calc(14px + env(safe-area-inset-top));z-index:4;min-height:44px;min-width:44px;padding:8px 14px;border-radius:999px;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:14px;font-weight:700}
.nv-pull__skip{z-index:4;min-height:44px;font-size:14px;background:rgba(0,0,0,.45)!important}
.nv-pull__credit{position:absolute;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:4;font-size:14px;color:rgba(255,255,255,.75)}
/* 短い版（演出を減らす・reduced-motion） */
.nv-pull.is-reduced *{animation:none!important;transition:none!important}
.nv-pull.is-reduced .nv-pull__cap{top:34%!important;transform:translate(-50%,-50%);opacity:1}
.nv-pull.is-reduced .nv-pull__half{display:none}
/* 天井が近い・届いたとき、道のゲージがあふれる */
.nv-g__road.is-near .nv-g__bar,.nv-g__road.is-full .nv-g__bar{overflow:visible;position:relative;box-shadow:0 0 0 2px rgba(246,207,73,.6),0 0 12px rgba(246,207,73,.7)}
.nv-g__road.is-near .nv-g__bar i,.nv-g__road.is-full .nv-g__bar i{background:linear-gradient(90deg,#e8743b,#e85d9f,#f6cf49,#e8743b);background-size:200% 100%;animation:nvFlow 1.2s linear infinite}
.nv-g__road.is-near .nv-g__bar::after,.nv-g__road.is-full .nv-g__bar::after{content:"";position:absolute;right:0;top:-14px;width:40px;height:20px;background:radial-gradient(circle at 20% 80%,#ffe08a 3px,transparent 4px),radial-gradient(circle at 55% 60%,#ff9ec7 3px,transparent 4px),radial-gradient(circle at 85% 85%,#c9a8ff 3px,transparent 4px);animation:nvSpill 1s ease-in-out infinite}
.nv-g__road.is-full .nv-g__bar i{width:100%!important}
@keyframes nvFlow{to{background-position:200% 0}}
@keyframes nvSpill{0%,100%{transform:translateY(4px);opacity:.4}50%{transform:translateY(-6px);opacity:1}}
@media (prefers-reduced-motion:reduce){.nv-g__road .nv-g__bar i,.nv-g__road .nv-g__bar::after{animation:none!important}}
/* GACHAFX1008 N・R は光を控えめに */
.nv-pull.p4.is-n .nv-pull__fx,.nv-pull.p4.is-r .nv-pull__fx{animation:nvOpenSoft .8s ease forwards!important;filter:saturate(.6)}
@keyframes nvOpenSoft{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}40%{opacity:.45}100%{opacity:.4;transform:translate(-50%,-50%) scale(.75)}}
/* ===== GACHAFX1008b 点検の直し ===== */
/* 虹の光の中心: translate を先にして回す（開いたあとに回し始める） */
@keyframes nvSpinC{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.nv-pull.p4.is-sr .nv-pull__fx,.nv-pull.p4.is-ur .nv-pull__fx,.nv-pull.p4.is-lr .nv-pull__fx{animation:nvOpen .9s ease forwards,nvSpinC 8s linear .9s infinite!important}
/* 短い版（演出を減らす・reduced-motion）: どの段の指定よりも強く止め、止まった見た目を書く */
html body .nv-pull.is-reduced.is-reduced.is-reduced *,html body .nv-pull.is-reduced.is-reduced.is-reduced *::before,html body .nv-pull.is-reduced.is-reduced.is-reduced *::after{animation:none!important;transition:none!important}
html body .nv-pull.is-reduced.is-reduced.is-reduced .nv-pull__fx{opacity:.55!important;top:34%!important;transform:translate(-50%,-50%) scale(.85)!important;filter:none!important}
html body .nv-pull.is-reduced.is-reduced.is-reduced .nv-pull__bg{filter:none!important}
html body .nv-pull.is-reduced.is-reduced.is-reduced .nv-pull__flash{opacity:0!important}
html body .nv-pull.is-reduced.is-reduced.is-reduced .nv-pull__glow{opacity:.6!important;transform:translate(-50%,-50%) scale(1)!important}
html body .nv-pull.is-reduced.is-reduced.is-reduced .nv-pull__cap{opacity:0!important}
html body .nv-pull.is-reduced.is-reduced.is-reduced .nv-pull__mach{transform:translateX(-50%)!important}
/* 景品（短い版の1回で見せる。ふつうの演出では出さない＝結果の画面で見る） */
.nv-pull__prize{display:none}
.nv-pull.is-reduced:not(.is-ten) .nv-pull__prize{display:flex;position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);z-index:3;flex-direction:column;align-items:center;gap:6px;padding:14px 18px;border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.nv-pull__prize img{width:min(36vw,150px);height:auto}
.nv-pull__prize b{font-size:16px;color:#1d2147}
.nv-pull__credit{left:12px;right:12px;text-align:right;line-height:1.4}
body:has(.nv-pull) .nv-toast,body:has(.nv-win) .nv-toast{bottom:auto;top:calc(70px + env(safe-area-inset-top));transform:translate(-50%,-20px)}
body:has(.nv-pull) .nv-toast.is-on,body:has(.nv-win) .nv-toast.is-on{transform:translate(-50%,0)}

/* ---------- NOV2026 ランキング ---------- */
.nv-rank .nv-rk{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:6px}
.nv-rk li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:rgba(255,255,255,.1)}
.nv-rk li.is-top{background:rgba(246,207,73,.16)}
.nv-rk li.is-me{box-shadow:inset 0 0 0 2px #f6cf49}
.nv-rk__n{width:24px;text-align:center;font-weight:800;color:#f6cf49}
.nv-rk img,.nv-rk i{width:36px;height:36px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.2);flex:none}
.nv-rk b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nv-rk em{font-style:normal;font-weight:800;color:#ffe08a}
.nv-rk__me{margin:0 0 8px;font-weight:700;color:#ffe08a}
