/* ボイスルーム（2026-10-06 VROOM1006・第1段）
   一覧は広場の明るい地（.vrl）、部屋の中は夜の深い紫の全画面（.vr）。押せる所は44px角以上・文字は14px以上。
   絵（images/vroom/*.webp）が届くまでは、ここの CSS の絵で描く。 */
.vrl,.vr{--vr-ink:#3a2a55;--vr-sub:#6b5f7d;--vr-pink:#e0619a;--vr-pur:#8a47a8;--vr-gold:#f3c65a;--vr-mint:#7fe0c4;--vr-night:#1d1230;--vr-night2:#2a1840;--vr-card:rgba(255,255,255,.08);--vr-line:rgba(255,255,255,.14)}
.vrl{max-width:600px;margin:0 auto;padding:12px 16px 32px;box-sizing:border-box;color:var(--vr-ink);font-size:15px}
.vrl *,.vr *,.vr-sheet *{box-sizing:border-box}
.vrl-wait{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40vh;color:#8b7f95;font-size:15px;font-weight:700}
.vrl-spin{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(138,71,168,.25);border-top-color:var(--vr-pink);animation:vrSpin .9s linear infinite;vertical-align:-3px}
@keyframes vrSpin{to{transform:rotate(360deg)}}
.vrl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 22px;border-radius:999px;border:0;background:linear-gradient(135deg,#e0619a,#8a47a8);color:#fff;font-weight:900;font-size:16px;text-decoration:none;cursor:pointer;font-family:inherit;box-shadow:0 6px 16px rgba(224,97,154,.3)}
.vrl-btn.is-big{width:100%;min-height:54px;font-size:17px}
.vrl-out{text-align:center;padding:28px 6px}
.vrl-out__art{width:96px;height:96px;margin:0 auto 12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#4a2c6e,#1d1230);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(29,18,48,.35)}
.vrl-out__h{font-size:24px;font-weight:900;color:#7a3a8a;margin:0 0 8px}
.vrl-out__lead{font-size:15px;line-height:1.8;color:var(--vr-sub);margin:0 0 18px}
/* CSS で描いたマイク */
.vrl-mic{position:relative;display:block;width:26px;height:40px}
.vrl-mic::before{content:"";position:absolute;left:5px;top:0;width:16px;height:26px;border-radius:9px;background:linear-gradient(180deg,#fff,#f3d9ff);box-shadow:inset 0 -3px 0 rgba(138,71,168,.25)}
.vrl-mic::after{content:"";position:absolute;left:0;top:12px;width:26px;height:20px;border:3px solid #f6c7e0;border-top:0;border-radius:0 0 14px 14px}
.vrl-hd{display:flex;gap:12px;align-items:center;margin:2px 0 14px}
.vrl-hd__icon{flex:none;width:58px;height:58px;border-radius:18px;background:radial-gradient(circle at 35% 30%,#4a2c6e,#1d1230);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(29,18,48,.3)}
.vrl-h{font-size:22px;font-weight:900;color:#7a3a8a;margin:0}
.vrl-lead{font-size:14px;line-height:1.6;color:var(--vr-sub);margin:2px 0 0}
.vrl-note{background:#fff7e0;border:1.5px solid #f3dca0;border-radius:14px;padding:10px 12px;font-size:14px;color:#7a5a12;margin:0 0 12px}
.vrl-mine{margin:0 0 16px}
.vrl-mycard{display:flex;align-items:center;gap:10px;width:100%;min-height:60px;border:0;border-radius:18px;padding:12px 16px;background:linear-gradient(135deg,#2a1840,#4a2c6e);color:#fff;text-align:left;cursor:pointer;font-family:inherit}
.vrl-mycard b{flex:1;min-width:0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vrl-mycard__k{flex:none;font-size:14px;color:#f6c7e0;font-weight:800}
.vrl-mycard__go{flex:none;font-size:14px;font-weight:900;background:#fff;color:#8a47a8;border-radius:999px;padding:6px 14px}
.vrl-cant{background:#fff;border:1.5px solid #f2dcea;border-radius:16px;padding:12px 14px;font-size:14px;color:var(--vr-sub);line-height:1.7}
.vrl-cant b{color:#7a3a8a}.vrl-cant ul{margin:4px 0;padding-left:20px}.vrl-cant p{margin:4px 0 0}
.vrl-sec{font-size:16px;font-weight:900;color:#8a47a8;margin:0 0 10px}
.vrl-rooms{display:flex;flex-direction:column;gap:12px}
.vrl-card{position:relative;display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;border:0;border-radius:20px;padding:14px 16px;cursor:pointer;font-family:inherit;color:#fff;
	background:radial-gradient(circle at 88% 20%,rgba(255,255,255,.18) 0 18%,transparent 19%),radial-gradient(circle at 12% 120%,rgba(224,97,154,.45),transparent 55%),linear-gradient(135deg,#2a1840,#5b2f7a);background-size:cover;background-position:center;box-shadow:0 8px 20px rgba(42,24,64,.22);overflow:hidden}
.vrl-card.is-official{background:radial-gradient(circle at 90% 18%,rgba(255,240,200,.5) 0 10%,transparent 11%),radial-gradient(circle at 0 100%,rgba(127,224,196,.4),transparent 50%),linear-gradient(135deg,#8a47a8,#e0619a);background-size:cover;background-position:center}
.vrl-card:active{transform:scale(.99)}
.vrl-card__top{display:flex;gap:6px;flex-wrap:wrap}
.vrl-tag{font-size:14px;font-weight:900;border-radius:999px;padding:2px 10px;line-height:1.5;background:rgba(255,255,255,.2)}
.vrl-tag.is-off{background:#fff;color:#c0418a}.vrl-tag.is-lv{background:rgba(243,198,90,.9);color:#5a3a00}.vrl-tag.is-staff{background:#7fe0c4;color:#0c4a3a}
.vrl-card__t{font-size:18px;font-weight:900;line-height:1.35;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.vrl-card__i{font-size:14px;opacity:.92;line-height:1.5}
.vrl-card__bt{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.vrl-card__sp{display:flex;align-items:center;min-width:0}
.vrl-sp{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-8px;background:#f3edff;display:inline-flex;align-items:center;justify-content:center;color:#8a47a8;font-weight:900;font-size:14px}
.vrl-sp:first-child{margin-left:0}
.vrl-card__spn{font-size:14px;margin-left:8px;opacity:.95;white-space:nowrap}
.vrl-card__n{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:900;background:rgba(0,0,0,.22);border-radius:999px;padding:4px 12px}
.vrl-card__n svg{width:18px;height:18px}
.vrl-card__h{font-size:14px;opacity:.9}
.vrl-empty,.vrl-err{font-size:15px;color:var(--vr-sub);text-align:center;padding:18px 0}
.vrl-foot{font-size:14px;color:#8b7f95;line-height:1.7;margin:16px 2px 0}

/* ===================== 部屋の中（全画面） ===================== */
body.vr-open{overflow:hidden}
.vr{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;color:#fff;font-size:15px;
	background:radial-gradient(1.5px 1.5px at 12% 18%,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 78% 9%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 44% 32%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 88% 40%,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 25% 55%,rgba(255,255,255,.5),transparent),
	radial-gradient(circle at 82% 8%,rgba(255,236,190,.35) 0 4%,transparent 5%),radial-gradient(ellipse at 50% 0,#4a2c6e,transparent 60%),radial-gradient(ellipse at 0 100%,rgba(224,97,154,.35),transparent 55%),linear-gradient(180deg,#2a1840,#1d1230 55%,#160d26);
	background-size:cover;background-position:center;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);font-family:inherit}
.vr.has-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,18,48,.25),rgba(29,18,48,.6));pointer-events:none}
.vr>*{position:relative}
.vr button{font-family:inherit}
.vr-top{flex:none;display:flex;align-items:center;gap:6px;padding:8px 10px 6px;min-height:58px}
.vr-ib{flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--vr-line);background:rgba(255,255,255,.08);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;position:relative}
.vr-ib svg{width:22px;height:22px}
.vr-ib[data-act="rank"]{color:var(--vr-gold)}
.vr-dot{position:absolute;top:4px;right:4px;width:11px;height:11px;border-radius:50%;background:#ff6b8a;box-shadow:0 0 0 2px #2a1840}
.vr-tt{flex:1;min-width:0;line-height:1.3}
.vr-title{display:block;font-size:16px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vr-subl{display:flex;align-items:center;gap:6px;font-size:14px;color:#e3d4f5;white-space:nowrap;overflow:hidden}
.vr-lv{background:linear-gradient(135deg,#f3c65a,#e8a93a);color:#4a2c00;border-radius:999px;padding:0 8px;font-weight:900;font-size:14px}
.vr-lv{display:inline-flex;align-items:center;gap:2px}.vr-lv__i{width:20px;height:20px;margin-left:-6px}
.vr-cnt{display:inline-flex;align-items:center;gap:2px}.vr-cnt svg{width:16px;height:16px}.vr-cnt i{font-style:normal;font-weight:800}
.vr-patrol{display:inline-flex;align-items:center;gap:2px;color:#9ff0d6;font-weight:800}.vr-patrol svg{width:14px;height:14px}
.vr-notice{flex:none;margin:0 12px 6px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.12);font-size:14px;line-height:1.5;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vr-notice.is-fail,.vr-notice.is-audio{background:rgba(255,107,138,.22)}
.vr-nbtn{min-height:44px;padding:6px 16px;border-radius:999px;border:0;background:#fff;color:#8a47a8;font-weight:900;font-size:14px;cursor:pointer}
/* 流れる1行 */
.vr-marq{flex:none;height:0;overflow:hidden;margin:0 10px;border-radius:999px;transition:height .25s;background:linear-gradient(90deg,rgba(138,71,168,.85),rgba(224,97,154,.85));background-size:cover;box-shadow:inset 0 1px 0 rgba(243,198,90,.7),inset 0 -1px 0 rgba(243,198,90,.7)}
.vr-marq.is-on{height:34px}
.vr-marq.g2,.vr-marq.g3{background:linear-gradient(90deg,#b8862a,#e0619a,#8a47a8)}
.vr-marq__in{height:34px;position:relative;overflow:hidden}
.vr-marq__t{position:absolute;left:0;top:0;line-height:34px;white-space:nowrap;font-size:14px;font-weight:700;padding:0 8px}
.vr-marq__t b{color:#ffe69a}
/* 席 */
.vr-stage{flex:none;position:relative;padding:4px 8px 6px}
.vr-hostrow{display:flex;justify-content:center;align-items:flex-start;position:relative;min-height:112px}
.vr-best{position:absolute;right:4px;top:6px;max-width:38%}
.vr-best__b{display:flex;align-items:center;gap:4px;border:1px solid rgba(243,198,90,.5);background:rgba(0,0,0,.25);color:#ffe9b0;border-radius:14px;padding:6px 8px;font-size:14px;line-height:1.35;text-align:left;cursor:pointer;min-height:44px}
.vr-best__b b{color:#fff}
.vr-best__b .vr-crown{flex:none;width:22px;height:22px}
.vr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 2px}
.vr-seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:96px;padding:4px 0;border:0;background:none;color:#fff;cursor:pointer;min-width:0;width:100%;-webkit-tap-highlight-color:transparent}
.vr-seat.is-hostseat{width:96px}
.vr-seat__ring{position:relative;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.vr-seat.is-hostseat .vr-seat__ring{width:72px;height:72px}
.vr-seat__blank{width:100%;height:100%;border-radius:50%;border:2px dashed rgba(255,255,255,.4);background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.75);font-size:16px}
.vr-seat__blank svg{width:22px;height:22px}
.vr-seat.is-hostseat .vr-seat__blank{border-color:rgba(243,198,90,.6);color:var(--vr-gold)}
.vr-seat.is-locked .vr-seat__blank{border-style:solid;border-color:rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:rgba(255,255,255,.5)}
.vr-seat__art{width:100%;height:100%;object-fit:contain}
.vr-seat__av{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#f3edff;border:3px solid #fff;box-shadow:0 0 0 2px rgba(224,97,154,.6),0 4px 10px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;color:#8a47a8;font-weight:900;font-size:20px}
.vr-seat.is-host .vr-seat__av{border-color:#ffe08a;box-shadow:0 0 0 3px #e8a93a,0 0 14px rgba(243,198,90,.55)}
.vr-seat.is-admin .vr-seat__av{border-color:#bfeaff;box-shadow:0 0 0 3px #6cc4f0}
.vr-seat.is-staff .vr-seat__av{border-color:#c9fff0;box-shadow:0 0 0 3px #3fbf9a}
.vr-seat__frame{position:absolute;inset:-15%;width:130%;height:130%;max-width:none;pointer-events:none;z-index:2}
.vr-seat__ring.has-frame{margin:6px 0 8px}
.vr-seat__ring.has-frame .vr-seat__av{border:0;box-shadow:none;width:88%;height:88%}
.vr-seat__av{position:relative;z-index:1}
.vr-seat.is-host:not(.is-hostseat) .vr-seat__ring::before,.vr-seat.is-hostseat.is-host .vr-seat__ring::before{content:"";position:absolute;top:-13px;left:50%;width:26px;height:16px;margin-left:-13px;z-index:2;
	background:linear-gradient(180deg,#ffe08a,#e8a93a);clip-path:polygon(0 100%,0 30%,25% 60%,50% 0,75% 60%,100% 30%,100% 100%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
.vr-seat__wave{position:absolute;inset:-6px;border-radius:50%;border:3px solid var(--vr-mint);opacity:0;pointer-events:none}
.vr-seat.is-speaking .vr-seat__wave{animation:vrWave 1.1s ease-out infinite}
.vr.has-speak .vr-seat__wave{inset:-62%;z-index:0;border:0;border-radius:0;background:var(--vr-speak) 0 0/800% 100% no-repeat}
.vr.has-speak .vr-seat.is-speaking .vr-seat__wave{opacity:1;animation:vrSpeakSprite .9s steps(7) infinite}
@keyframes vrSpeakSprite{from{background-position:0 0}to{background-position:100% 0}}
@keyframes vrWave{0%{opacity:.95;transform:scale(.96)}100%{opacity:0;transform:scale(1.28)}}
.vr-seat__glow{position:absolute;inset:-14px;border-radius:50%;opacity:0;pointer-events:none;background-size:contain;background-repeat:no-repeat;background-position:center;z-index:0}
.vr-seat.glow-g0 .vr-seat__glow{opacity:1;background:radial-gradient(circle,rgba(255,255,255,.85) 0 48%,rgba(255,255,255,.45) 58%,rgba(255,255,255,0) 71%);background-size:contain;animation:vrGlow 8s ease-out forwards}
.vr-seat.glow-g1 .vr-seat__glow{opacity:1;background:radial-gradient(circle,rgba(255,226,130,.9) 0 48%,rgba(255,200,70,.55) 58%,rgba(255,200,70,0) 72%);background-size:contain;animation:vrGlow 8s ease-out forwards}
.vr-seat.glow-g2 .vr-seat__glow{opacity:1;background:conic-gradient(from 0deg,#ff8fb8,#ffd35a,#9fe6cf,#8fd3ff,#b98cff,#ff8fb8);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%,#000 70%,transparent 72%);mask:radial-gradient(circle,transparent 58%,#000 60%,#000 70%,transparent 72%);animation:vrGlowSpin 1.6s linear infinite,vrGlow 8s ease-out forwards;filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}
.vr-seat.glow-g3 .vr-seat__glow{opacity:1;background:radial-gradient(circle,rgba(255,200,120,.95) 0 46%,rgba(240,110,170,.75) 56%,rgba(150,80,200,.45) 64%,rgba(150,80,200,0) 74%);background-size:contain;animation:vrFlame .5s ease-in-out infinite alternate,vrGlow 8s ease-out forwards}
@keyframes vrGlow{0%{opacity:0}6%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes vrGlowSpin{to{transform:rotate(360deg)}}
@keyframes vrFlame{to{transform:scale(1.07)}}
.vr-seat__mute{position:absolute;right:-4px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:#2a1840;border:2px solid #fff;display:flex;align-items:center;justify-content:center;color:#fff}
.vr-seat__mute svg{width:15px;height:15px}
.vr-seat__cr{position:absolute;left:-6px;top:-8px;width:24px;height:24px;transform:rotate(-18deg)}
.vr-seat__cr .vr-crown{width:24px;height:24px}
.vr-seat__name{max-width:100%;padding:0 2px;font-size:14px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.vr-seat.is-empty .vr-seat__name,.vr-seat.is-locked .vr-seat__name{color:rgba(255,255,255,.6);font-weight:700}
.vr-seat.is-me .vr-seat__name{color:#ffd1e6}
.vr-seat__role{display:inline-block;font-size:14px;font-weight:900;border-radius:6px;padding:0 3px;margin-right:2px;line-height:1.25}
.vr-seat__role.is-host{background:#f3c65a;color:#4a2c00}.vr-seat__role.is-admin{background:#6cc4f0;color:#0b2f45}.vr-seat__role.is-staff{background:#3fbf9a;color:#05291d}
.vr-seat__guard{display:block;max-width:100%;font-size:14px;line-height:1.25;color:#ffe69a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}
.vr-seat__guard svg{width:13px;height:13px;vertical-align:-1px;margin-right:2px}
/* 入室の帯 */
.vr-ribbon{position:absolute;left:0;top:44px;display:flex;align-items:center;gap:8px;padding:6px 18px 6px 8px;border-radius:0 999px 999px 0;background:linear-gradient(90deg,rgba(138,71,168,.95),rgba(186,120,220,.9));box-shadow:0 4px 14px rgba(0,0,0,.3);transform:translateX(-110%);opacity:0;pointer-events:none;z-index:5;max-width:88%}
.vr-ribbon.is-mid{background:linear-gradient(90deg,#e0619a,#f3c65a)}
.vr-ribbon.is-hi{background:linear-gradient(90deg,#ff8fb8,#ffd35a,#9fe6cf,#8fd3ff,#b98cff)}
.vr-ribbon.is-staff{background:linear-gradient(90deg,#1f8a6c,#3fbf9a)}
.vr-ribbon.is-go{animation:vrRib 2.7s ease forwards}
@keyframes vrRib{0%{transform:translateX(-110%);opacity:0}14%{transform:translateX(0);opacity:1}82%{transform:translateX(0);opacity:1}100%{transform:translateX(30%);opacity:0}}
.vr-ribbon__av{flex:none;width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #fff;background:#f3edff;display:inline-flex;align-items:center;justify-content:center;color:#8a47a8;font-weight:900;font-size:14px}
.vr-ribbon__t{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* チャット */
.vr-chat{flex:1;min-height:80px;overflow-y:auto;overscroll-behavior:contain;padding:6px 12px 8px;display:flex;flex-direction:column;gap:6px;-webkit-mask:linear-gradient(180deg,transparent 0,#000 14px)}
.vr-msg{display:flex;gap:8px;align-items:flex-start;max-width:100%}
.vr-msg__av{flex:none;width:44px;height:44px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.vr-msg__img{width:32px;height:32px;border-radius:50%;object-fit:cover;background:#f3edff;display:inline-flex;align-items:center;justify-content:center;color:#8a47a8;font-weight:900;font-size:14px}
.vr-msg__b{min-width:0;background:rgba(255,255,255,.1);border-radius:4px 14px 14px 14px;padding:4px 12px 6px}
.vr-msg.is-me .vr-msg__b{background:rgba(224,97,154,.25)}
.vr-msg__n{display:block;border:0;background:none;padding:0;color:#d9c4f2;font-size:14px;font-weight:800;cursor:pointer;min-height:24px;text-align:left}
.vr-msg__t{margin:0;font-size:15px;line-height:1.55;word-break:break-word;white-space:pre-wrap}
.vr-sys{display:flex;justify-content:center}
.vr-sys>span{display:inline-block;max-width:94%;font-size:14px;line-height:1.5;color:#e9def8;background:rgba(0,0,0,.25);border-radius:12px;padding:4px 12px;text-align:center}
.vr-sys.is-hint>span{background:rgba(127,224,196,.18);color:#c9fff0}
.vr-sys.is-warn>span{background:rgba(255,107,138,.25);color:#ffe0e8}
.vr-sys.is-game>span{background:rgba(243,198,90,.2);color:#ffe9b0}
.vr-sys.is-game b{color:#fff}
.vr-sys.is-gift>span{background:linear-gradient(90deg,rgba(224,97,154,.35),rgba(138,71,168,.35));color:#fff}
.vr-sys.is-gift.g2>span,.vr-sys.is-gift.g3>span{background:linear-gradient(90deg,rgba(243,198,90,.45),rgba(224,97,154,.45));box-shadow:0 0 0 1px rgba(243,198,90,.6)}
.vr-sys.is-gift b{color:#ffe69a}
.vr-sys__gi{width:24px;height:24px;object-fit:contain;vertical-align:-6px;margin-right:4px}
.vr-sys__gi.is-ico{display:inline-block;color:#ffb3d1}.vr-sys__gi.is-ico svg{width:22px;height:22px}
/* 下の段 */
.vr-bar{flex:none;display:flex;align-items:center;gap:6px;padding:8px 10px 10px;background:linear-gradient(180deg,rgba(22,13,38,0),rgba(22,13,38,.85) 30%)}
.vr-rb{flex:none;width:48px;height:48px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;background:rgba(255,255,255,.14);padding:0}
.vr-rb svg{width:26px;height:26px}
.vr-rb__i{width:34px;height:34px;object-fit:contain}
.vr-mic.is-on{background:linear-gradient(135deg,#3fbf9a,#7fe0c4);color:#05291d;box-shadow:0 0 0 3px rgba(127,224,196,.35)}
.vr-mic.is-off{background:rgba(255,107,138,.3)}
.vr-mic.is-sit{background:linear-gradient(135deg,#e0619a,#8a47a8)}
.vr-mic.is-hand{background:#f3c65a;color:#4a2c00;animation:vrHand 1.2s ease-in-out infinite}
@keyframes vrHand{50%{transform:translateY(-3px)}}
.vr-rb.is-gift{background:linear-gradient(135deg,#ff8fb8,#e0619a);box-shadow:0 4px 12px rgba(224,97,154,.45)}
.vr-rb.is-play{background:linear-gradient(135deg,#f3c65a,#e8a93a);color:#2a1840}
.vr-rb.is-play.is-dim{opacity:.55}
.vr-form{flex:1;min-width:0;display:flex;align-items:center;background:rgba(255,255,255,.12);border:1.5px solid var(--vr-line);border-radius:999px;padding:0 4px 0 14px;height:48px}
.vr-in{flex:1;min-width:0;border:0;background:none;color:#fff;font-size:16px;font-family:inherit;outline:0;height:44px}
.vr-in::placeholder{color:rgba(255,255,255,.55)}
.vr-in:disabled{opacity:.6}
.vr-send{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:none;color:#ffb3d1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.vr-send svg{width:22px;height:22px}
.vr-form:focus-within{border-color:#e0619a;background:rgba(255,255,255,.16)}
/* 遊びの演出（全員に同時） */
.vr-game{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(14,8,26,.62);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.vr-gm{position:relative;width:min(92vw,380px);text-align:center;overflow:visible}
.vr-gm__by{font-size:15px;font-weight:800;color:#f6dcff;margin:0 0 12px}
.vr-wheel{position:relative;width:min(80vw,300px);height:min(80vw,300px);margin:0 auto}
.vr-wheel__rot{position:absolute;inset:0;will-change:transform}
.vr-wheel__svg,.vr-wheel__art{position:absolute;inset:0;width:100%;height:100%}
.vr-wheel__art{object-fit:contain}
.vr-wheel__t{font-size:10.5px;font-weight:900;font-family:inherit;paint-order:stroke;stroke:rgba(42,24,64,.6);stroke-width:2.4px}
.vr-wheel__hub{position:absolute;left:50%;top:50%;width:18%;height:18%;margin:-9% 0 0 -9%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#f3c65a 45%,#c4882a);box-shadow:0 2px 8px rgba(0,0,0,.4)}
.vr-wheel__ptr{position:absolute;left:50%;top:-14px;width:30px;height:40px;margin-left:-15px;background:linear-gradient(180deg,#ffe08a,#e8a93a);clip-path:polygon(50% 100%,0 25%,20% 0,80% 0,100% 25%);filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));z-index:2}
.vr-wheel__ptr.is-art{clip-path:none;background:none;width:44px;height:44px;margin-left:-22px;top:-20px;object-fit:contain}
.vr-wheel__bulbs{position:absolute;inset:-2px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#fff6c8 0 2deg,transparent 2deg 15deg);-webkit-mask:radial-gradient(circle,transparent 66%,#000 67.5%,#000 69.5%,transparent 70.5%);mask:radial-gradient(circle,transparent 66%,#000 67.5%,#000 69.5%,transparent 70.5%);animation:vrBulb 1s steps(2) infinite;pointer-events:none}
@keyframes vrBulb{50%{opacity:.4}}
.vr-gm__res{margin:14px auto 0;background:linear-gradient(135deg,#fff,#fff0f7);color:#7a3a8a;border-radius:20px;padding:12px 18px;box-shadow:0 10px 28px rgba(0,0,0,.4);animation:vrPop .45s cubic-bezier(.2,1.6,.4,1)}
.vr-gm__k{display:block;font-size:14px;font-weight:800;color:#c0418a}
.vr-gm__r{display:block;font-size:24px;font-weight:900;line-height:1.35;word-break:break-word}
@keyframes vrPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.vr-cf{position:absolute;top:-8px;width:8px;height:12px;border-radius:2px;animation:vrCf 2s ease-in forwards;pointer-events:none}
@keyframes vrCf{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(80vh) rotate(540deg);opacity:0}}
/* くじ引きの箱（CSS の絵） */
.vr-box{position:relative;width:170px;height:170px;margin:10px auto 0}
.vr-box__art{width:100%;height:100%;object-fit:contain}
.vr-box__body{position:absolute;left:12%;right:12%;bottom:4%;height:62%;border-radius:12px;background:repeating-linear-gradient(90deg,#b77ad8 0 18px,#ef7fb0 18px 36px);box-shadow:inset 0 -8px 0 rgba(0,0,0,.12),0 10px 22px rgba(0,0,0,.35)}
.vr-box__lid{position:absolute;left:8%;right:8%;top:22%;height:16%;border-radius:10px;background:linear-gradient(180deg,#d9a6f0,#a865cc);z-index:2;box-shadow:0 3px 0 rgba(0,0,0,.15);transform-origin:left bottom;transition:transform .5s}
.vr-box__hole{position:absolute;left:50%;top:-16%;width:46%;height:20%;margin-left:-23%;border-radius:50%;background:#2a1840;z-index:3}
.vr-box__rib{position:absolute;left:50%;top:20%;bottom:4%;width:16px;margin-left:-8px;background:linear-gradient(180deg,#ffe08a,#e8a93a);z-index:3;border-radius:3px}
.vr-box__rib::before,.vr-box__rib::after{content:"";position:absolute;top:-16px;width:26px;height:18px;border:5px solid #f3c65a;border-radius:50%}
.vr-box__rib::before{right:6px;transform:rotate(-20deg)}.vr-box__rib::after{left:6px;transform:rotate(20deg)}
.vr-box.is-shake{animation:vrShake .18s linear infinite}
@keyframes vrShake{25%{transform:rotate(-6deg) translateX(-3px)}75%{transform:rotate(6deg) translateX(3px)}}
.vr-box.is-open .vr-box__lid{transform:rotate(-28deg) translateY(-10px)}
.vr-ticket{position:relative;margin:-60px auto 0;width:min(84vw,300px);min-height:110px;border-radius:16px;background:linear-gradient(135deg,#fffaf0,#ffeec8);border:3px solid #f3c65a;box-shadow:0 14px 32px rgba(0,0,0,.45);color:#5a2d5f;display:flex;align-items:center;justify-content:center;z-index:4;opacity:0;transform:translateY(60px) scale(.5)}
.vr-ticket::before,.vr-ticket::after{content:"";position:absolute;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:#3a2456}
.vr-ticket::before{left:-13px}.vr-ticket::after{right:-13px}
.vr-ticket.is-go{animation:vrTicket .7s cubic-bezier(.2,1.5,.4,1) forwards}
@keyframes vrTicket{to{opacity:1;transform:translateY(0) scale(1)}}
.vr-ticket__art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:12px;opacity:.5}
.vr-ticket__in{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px}
.vr-ticket__av{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid #f3c65a;background:#f3edff;display:flex;align-items:center;justify-content:center;font-weight:900;color:#8a47a8;font-size:20px}
.vr-ticket__in b{font-size:22px;font-weight:900}
.vr-ticket__in span{font-size:15px;font-weight:800;color:#c0418a}
.vr-crown{width:26px;height:26px;display:inline-block;vertical-align:middle}

/* ===================== シート ===================== */
.vr-sheet{position:fixed;inset:0;z-index:1200;background:rgba(10,6,20,.5);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .18s}
.vr-sheet.is-on{opacity:1}
.vr-sh{position:relative;width:100%;max-width:520px;max-height:86vh;max-height:86dvh;overflow-y:auto;overscroll-behavior:contain;background:#2a1840;color:#fff;border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.4);transform:translateY(24px);transition:transform .2s;font-size:15px}
.vr-sheet.is-on .vr-sh{transform:none}
.vr-sheet.is-light .vr-sh{background:#fff;color:#3a2a55}
.vr-sh__x{position:absolute;right:8px;top:8px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:inherit;font-size:22px;cursor:pointer;line-height:1}
.vr-sheet.is-light .vr-sh__x{background:#f6eef9}
.vr-sh__h{display:flex;align-items:center;gap:6px;font-size:18px;font-weight:900;margin:0 48px 10px 0}
.vr-sh__h svg{width:22px;height:22px;color:#ffb3d1}
.vr-sh__s{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:900;color:#e3c9ff;margin:14px 0 6px}
.vr-sh__s svg{width:18px;height:18px}
.vr-sh__p{font-size:14px;line-height:1.65;color:#e3d4f5;margin:0 0 10px}
.vr-sheet.is-light .vr-sh__p{color:#6b5f7d}
.vr-sh__p.is-small{font-size:14px;opacity:.85}
.vr-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:48px;border-radius:14px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-weight:800;font-size:15px;cursor:pointer;text-decoration:none;padding:8px 14px;margin:0 0 8px;font-family:inherit}
.vr-sheet.is-light .vr-btn{color:#7a3a8a;border-color:#ead7f3;background:#fff}
.vr-btn svg{width:20px;height:20px}
.vr-btn.is-go{border:0;background:linear-gradient(135deg,#e0619a,#8a47a8);color:#fff}
.vr-btn.is-gift{border:0;background:linear-gradient(135deg,#ff8fb8,#e0619a);color:#fff}
.vr-btn.is-warn{border-color:rgba(255,107,138,.6);color:#ffb3c4}
.vr-btn.is-sub{font-size:14px}
.vr-btn.is-sm{width:auto;min-height:44px;margin:0;padding:6px 14px;font-size:14px}
.vr-btn:disabled{opacity:.5}
.vr-acts2{display:flex;gap:8px}.vr-acts2 .vr-btn{flex:1}
.vr-ic{width:20px;height:20px;object-fit:contain}
.vr-f{display:block;margin:0 0 10px}
.vr-f>span{display:block;font-size:14px;font-weight:800;margin:0 0 4px;color:#e3c9ff}
.vr-sheet.is-light .vr-f>span{color:#7a3a8a}
.vr-in2{width:100%;min-height:46px;border-radius:12px;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:inherit;font-size:16px;padding:8px 12px;font-family:inherit}
.vr-sheet.is-light .vr-in2{border-color:#ead7f3;background:#fff}
.vr-chk,.vr-radio{display:flex;align-items:flex-start;gap:10px;min-height:44px;font-size:14px;line-height:1.5;margin:0 0 8px;cursor:pointer}
.vr-chk input,.vr-radio input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:#e0619a}
.vr-radios{margin:0 0 6px}
.vr-range{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;font-weight:800}
.vr-range span{flex:none;width:6em}.vr-range input{flex:1;height:32px;accent-color:#e0619a}
.vr-who{display:flex;gap:12px;align-items:center;margin:0 48px 14px 0}
.vr-who__av{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;background:#f3edff;display:flex;align-items:center;justify-content:center;color:#8a47a8;font-weight:900;font-size:24px}
.vr-who__n{display:block;font-size:18px;font-weight:900}
.vr-who__s{display:block;font-size:14px;color:#d9c4f2;margin-top:2px}
.vr-who__g{display:inline-flex;align-items:center;gap:3px;font-size:14px;color:#ffe69a;margin-top:4px}
.vr-who__g svg{width:15px;height:15px}
.vr-badge{display:inline-flex;align-items:center;gap:2px;font-size:14px;font-weight:900;border-radius:6px;padding:0 5px;margin-right:4px;line-height:1.4;vertical-align:1px}
.vr-badge svg{width:14px;height:14px}
.vr-badge.is-host{background:#f3c65a;color:#4a2c00}.vr-badge.is-admin{background:#6cc4f0;color:#0b2f45}.vr-badge.is-staff{background:#3fbf9a;color:#05291d}.vr-badge.is-hand{background:#f3c65a;color:#4a2c00;margin-left:6px}
.vr-plist{display:flex;flex-direction:column;gap:4px}
.vr-prow{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;border:0;border-radius:12px;background:rgba(255,255,255,.06);color:#fff;padding:6px 10px;cursor:pointer;text-align:left;font-family:inherit}
.vr-prow2{display:flex;gap:8px;align-items:center}.vr-prow2 .vr-prow{flex:1;min-width:0}
.vr-prow__av{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;background:#f3edff;display:inline-flex;align-items:center;justify-content:center;color:#8a47a8;font-weight:900;font-size:15px}
.vr-prow__n{flex:1;min-width:0;font-size:15px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vr-prow__go{flex:none;font-size:14px;font-weight:900;color:#ffb3d1}
.vr-prow__m{flex:none;color:#ff8fa8}.vr-prow__m svg{width:20px;height:20px}
.vr-tabs{display:flex;gap:6px;margin:0 0 10px}
.vr-tab{flex:1;min-height:44px;border-radius:12px;border:1.5px solid rgba(255,255,255,.18);background:none;color:#e3d4f5;font-weight:900;font-size:15px;cursor:pointer;font-family:inherit}
.vr-tab.is-on{background:linear-gradient(135deg,#e0619a,#8a47a8);border-color:transparent;color:#fff}
.vr-rank{display:flex;flex-direction:column;gap:6px;margin:0 0 8px}
.vr-rrow{display:flex;align-items:center;gap:10px;min-height:52px;border-radius:14px;background:rgba(255,255,255,.06);padding:6px 12px}
.vr-rrow.r1{background:linear-gradient(90deg,rgba(243,198,90,.3),rgba(255,255,255,.05))}
.vr-rrow__k{flex:none;width:30px;text-align:center;font-size:16px}
.vr-rrow__av{flex:none;width:38px;height:38px;border-radius:50%;object-fit:cover;background:#f3edff;display:inline-flex;align-items:center;justify-content:center;color:#8a47a8;font-weight:900;font-size:15px}
.vr-rrow__n{flex:1;min-width:0;font-size:15px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vr-rrow__p{flex:none;font-size:15px;font-weight:900;color:#ffe69a}
.vr-lvbar{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;margin:0 0 12px;font-size:14px}
.vr-lvbar__l b{color:#ffe08a}
.vr-lvbar__g{height:10px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.vr-lvbar__g i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f3c65a,#e0619a)}
.vr-lvbar__s{grid-column:1/-1;color:#d9c4f2}
.vr-gto{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;margin:0 0 6px;scrollbar-width:none}
.vr-gto__b{flex:none;width:76px;min-height:88px;display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid transparent;border-radius:14px;background:rgba(255,255,255,.06);color:#fff;padding:6px 4px;cursor:pointer;font-size:14px;font-family:inherit}
.vr-gto__b span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.vr-gto__b.is-on{border-color:#ff8fb8;background:rgba(224,97,154,.22)}
.vr-gto__av{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#f3edff;display:inline-flex;align-items:center;justify-content:center;color:#8a47a8;font-weight:900}
.vr-gto__all{width:44px;height:44px;border-radius:50%;display:flex !important;align-items:center;justify-content:center;background:linear-gradient(135deg,#f3c65a,#e0619a);font-weight:900;color:#fff}
.vr-gbal{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin:0 0 8px;min-height:44px}
.vr-gbal b{color:#ffe69a;font-size:16px}
.vr-gbal a{color:#ffb3d1;font-weight:800;min-height:44px;display:inline-flex;align-items:center}
.vr-ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 8px}
.vr-gi{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:118px;border:1.5px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;padding:8px 4px;cursor:pointer;font-family:inherit}
.vr-gi img{width:52px;height:52px;object-fit:contain}
.vr-gi__ico{font-size:34px;line-height:52px;height:52px}
.vr-gi b{font-size:14px;line-height:1.3;text-align:center}
.vr-gi span{font-size:14px;color:#ffe69a;text-align:center;line-height:1.3}
.vr-gi.t2,.vr-gi.t3{border-color:rgba(243,198,90,.6)}
.vr-gi.t4,.vr-gi.t5,.vr-gi.t6{border-color:#ff8fb8;background:linear-gradient(160deg,rgba(224,97,154,.25),rgba(138,71,168,.25))}
.vr-gi:disabled{opacity:.4}
.vr-pre{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.vr-chip{min-height:44px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:14px;font-weight:800;padding:6px 14px;cursor:pointer;font-family:inherit}
.vr-items{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}
.vr-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translate(-50%,20px);z-index:1300;max-width:calc(100% - 32px);background:rgba(20,12,34,.95);color:#fff;border-radius:14px;padding:10px 16px;font-size:14px;line-height:1.5;box-shadow:0 8px 22px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.vr-toast.is-show{opacity:1;transform:translate(-50%,0)}
.vr-toast.is-ng{background:rgba(150,30,70,.95)}
@media (min-width:600px){
	.vr{max-width:520px;margin:0 auto;left:0;right:0;box-shadow:0 0 0 100vmax #120a20}
	body.vr-open{background:#120a20}
	.vr-seat__ring{width:66px;height:66px}
}
@media (max-height:640px){
	.vr-hostrow{min-height:98px}
	.vr-seat{min-height:86px}
	.vr-seat__ring{width:52px;height:52px}
	.vr-seat.is-hostseat .vr-seat__ring{width:60px;height:60px}
	.vr-top{min-height:52px;padding-top:4px;padding-bottom:2px}
}
@media (prefers-reduced-motion:reduce){
	.vr-seat.is-speaking .vr-seat__wave{animation:none;opacity:.9}
	.vr-box.is-shake,.vr-mic.is-hand,.vr-wheel__bulbs{animation:none}
}

/* 点検 10/6 の直し */
.vr-sheet.is-light .vr-btn.is-go{border:0;background:linear-gradient(135deg,#e0619a,#8a47a8);color:#fff;box-shadow:0 6px 16px rgba(224,97,154,.3)}
.vr-sheet.is-light .vr-btn.is-warn{color:#c0304f;border-color:#f3b7c4}
/* △11 チャットの名前も押しやすく（高さ44px） */
.vr-msg__n{min-height:44px;margin:-10px 0 -12px;padding:10px 8px 10px 0;line-height:24px}
/* △12 公式の札の飾りに文字がかからない */
.vrl-card.is-official{padding-left:34px;padding-right:26px}
/* △13 流れる1行の帯の絵を切らない */
.vr-marq{background-size:100% 100%;background-repeat:no-repeat}
.vr-marq.is-on{height:38px}
.vr-marq__in{height:38px}.vr-marq__t{line-height:38px}
/* △9 遊びの演出の間も上の段（戻る・人・メニュー）は押せる */
.vr-game{top:58px}
/* △10 */
.vr-best__b span{white-space:nowrap}
/* 点検2回目 */
/* 豪華演出の帯（gift-fx）が上の段（戻る・人・メニュー）を覆わないように、部屋の中では上の段の下に出す */
body.vr-open .hgf-band{top:calc(env(safe-area-inset-top,0px) + 64px)}
/* 部屋の中では受け取りの札から DM へつながない（知らない人どうしの DM を開かない） */
body.vr-open .cmsocial-gifttoast__b a[href*="community-dm"],body.vr-open .cmsocial-gifttoast__b [data-thank]{display:none}
/* 守護の知らせ（cm-guard の上に出る札）も、部屋の中では上の段の下に出す */
body.vr-open .gd-toast--note{top:calc(64px + env(safe-area-inset-top,0px))}
/* 点検3回目: 上の段（運営がいるとき Lv が縮んで数字が消え、見回りの印が冠の下にもぐった） */
.vr-lv,.vr-cnt,.vr-patrol{flex-shrink:0}
.vr-patrol__t{display:none}
.vr-patrol{min-width:22px;height:22px;justify-content:center;border-radius:999px;background:rgba(63,191,154,.25);padding:0 5px}
.vr-patrol svg{width:15px;height:15px}
@media (min-width:600px){.vr-patrol__t{display:inline}}
