body.roulette-page{background:radial-gradient(ellipse at 50% 0,#58273f,#22172c 58%,#181524);color:#fff;min-height:100vh;font-family:system-ui,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
.roulette-header{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:1200px;margin:auto;padding:22px 20px;color:#efc479;font-size:12px;font-weight:900;letter-spacing:.1em}.roulette-back{color:#ffe2a5;text-decoration:none;letter-spacing:0}
.roulette-main{max-width:1160px;margin:auto;text-align:center;padding:0 12px 65px;overflow:hidden}.roulette-main h1{font-size:clamp(25px,5vw,46px);color:white;margin:8px 0}.roulette-lead{color:#e7d6ef;margin:10px 0}
#roulette-status{color:#ffde9c;min-height:28px;font-size:clamp(13px,3vw,20px);font-weight:bold;margin:16px 0 5px}
.roulette-stage{overflow:hidden;display:flex;justify-content:center;min-height:390px}.roulette-wheel-frame{width:min(800px,95vw);min-width:590px;aspect-ratio:1;flex:none;position:relative;filter:drop-shadow(0 12px 22px #0008)}
#roulette-wheel{display:block;width:100%;height:100%;will-change:transform;transform-origin:50% 50%}
.roulette-pointer{position:absolute;left:50%;top:4px;z-index:3;transform:translateX(-50%);width:0;height:0;border-left:17px solid transparent;border-right:17px solid transparent;border-top:43px solid #f54391;filter:drop-shadow(0 2px 3px #000)}
.roulette-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:23%;height:23%;border-radius:50%;background:radial-gradient(circle,#292e48,#171528);border:5px solid #f3c982;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.35;font-weight:950;font-size:clamp(15px,2.3vw,24px);pointer-events:none}.roulette-center strong{color:#ffdf96}
.roulette-current{font-size:clamp(18px,4vw,26px);font-weight:950;min-height:36px;color:#fff6e0}
.roulette-actions{max-width:530px;margin:12px auto;display:grid;gap:11px}.roulette-spin{background:linear-gradient(100deg,#ffd16f,#ee71af);border:0;border-radius:15px;min-height:66px;color:#271328;font-weight:1000;font-size:clamp(18px,4.4vw,23px);cursor:pointer}.roulette-spin:disabled{opacity:.47;cursor:not-allowed}.roulette-small{border:1px solid #b69cae;background:#2d263f;color:#fff;border-radius:12px;min-height:42px;padding:8px 16px;cursor:pointer}.roulette-error{color:#ffc1ce;line-height:1.7;min-height:26px}
.roulette-result{max-width:600px;margin:25px auto 0;animation:roulette-appear .5s cubic-bezier(.18,1.3,.26,1)}.roulette-result[hidden]{display:none}.roulette-deden{color:#ffdc8d;font-size:clamp(36px,9vw,62px);font-weight:1000;text-shadow:0 0 22px #ffa055;margin-bottom:12px}
@keyframes roulette-appear{from{opacity:0;transform:translateY(25px) scale(.91)}to{opacity:1;transform:translateY(0) scale(1)}}
#roulette-profile .actress-rank-card{width:100%;display:grid;grid-template-columns:minmax(125px,220px) 1fr;border:2px solid #f2cb85;overflow:hidden;text-align:left;box-shadow:0 20px 55px #0008}
#roulette-profile .actress-rank-open{display:contents}#roulette-profile .actress-rank-media{grid-column:1;grid-row:1/3;aspect-ratio:4/5;min-height:225px}
#roulette-profile .actress-rank-body{grid-column:2;grid-row:1;min-height:140px;padding:18px;justify-content:center}
#roulette-profile .actress-rank-name{font-size:clamp(23px,5vw,34px)}#roulette-profile .actress-rank-cta{grid-column:2;grid-row:2;margin:0 14px 18px}
#roulette-profile .actress-portrait-credit{grid-column:1/-1;text-align:left}
.roulette-page #roulette-profile .actress-rank-card{color:#2b1d31}
.roulette-page #roulette-profile .actress-rank-name{color:#271b2e}
.roulette-page #roulette-profile .actress-rank-ruby{color:#796579}
.roulette-page #roulette-profile .roulette-summary{color:#614d63;font-size:13px;line-height:1.6;overflow-wrap:anywhere;max-height:7.4em;overflow:auto;margin:12px 0 0}
.roulette-page #roulette-profile .actress-rank-fallback{color:#6f5266}
.roulette-official-post{margin:14px auto 8px;padding:14px;max-width:560px;border:1px solid #f2cb85;border-radius:15px;background:#fff;color:#312237;text-align:center}
.roulette-official-post h3{font-size:16px;margin:0 0 11px}
.roulette-official-post iframe{display:block;width:100%;max-width:540px;height:570px;border:0;border-radius:9px;background:#fff;margin:auto}
.roulette-official-post--x iframe{height:740px;max-width:500px}
.roulette-official-post a{display:block;margin:10px auto 0;color:#8f2a68;font-weight:750;text-decoration:underline}
@media(max-width:650px){.roulette-official-post iframe{height:510px}}
.roulette-share{display:flex;justify-content:center;gap:9px;margin:16px 0;flex-wrap:wrap}.roulette-foot{font-size:12px;color:#b6a8c1;margin:24px 10px}.roulette-confetti{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}.roulette-confetti i{position:absolute;top:-25px;width:9px;height:14px;animation:roulette-fall 1.8s linear forwards}
@keyframes roulette-fall{from{opacity:1;transform:translate3d(0,0,0) rotate(0)}to{opacity:0;transform:translate3d(var(--dx),108vh,0) rotate(750deg)}}
@media(max-width:650px){.roulette-stage{min-height:390px}.roulette-wheel-frame{width:650px;min-width:650px}.roulette-header{padding:16px}.roulette-main h1{font-size:25px}#roulette-profile .actress-rank-card{grid-template-columns:120px 1fr}#roulette-profile .actress-rank-media{min-height:205px}#roulette-profile .actress-rank-body{padding:12px}#roulette-profile .actress-rank-name{font-size:21px}#roulette-profile .actress-rank-cta{margin:0 9px 12px;font-size:11px}}
@media(max-width:390px){.roulette-wheel-frame{width:590px;min-width:590px}.roulette-stage{min-height:370px}}
@media(max-width:650px){#roulette-profile .actress-rank-card{grid-template-columns:1fr!important}
#roulette-profile .actress-rank-media{grid-column:1;grid-row:1;min-height:260px;max-height:310px;aspect-ratio:4/3}
#roulette-profile .actress-rank-body{grid-column:1;grid-row:2;min-height:0;padding:16px!important}
#roulette-profile .actress-rank-cta{grid-column:1;grid-row:3;margin:0 14px 16px}
#roulette-profile .actress-portrait-credit{grid-column:1;grid-row:4}}
@media(prefers-reduced-motion:reduce){.roulette-result{animation:none}.roulette-confetti{display:none}}
