.fortune-launch{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 23px;background:var(--pv-blue);border-radius:24px;color:#182018;margin-bottom:25px}.fortune-launch h2{font-size:23px;font-weight:400}.fortune-launch p{font-size:12px;margin-top:5px}.fortune-launch>.btn{background:#171914;color:#fffbed;flex-shrink:0}.fortune-wheel-wrap{position:relative;width:min(100%,340px);margin:24px auto 12px}.fortune-wheel-wrap canvas{width:100%;height:auto;display:block;will-change:transform}.fortune-pointer{position:absolute;z-index:2;top:-5px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:28px solid var(--pv-ink);filter:drop-shadow(0 2px 1px #0003)}.fortune-result{font-family:Manrope,Onest,sans-serif;font-size:25px;line-height:1.25;text-align:center;min-height:64px;padding:8px 0 14px;overflow-wrap:anywhere}.fortune-options{border-top:1px solid var(--pv-border);margin-top:22px;padding-top:15px}.fortune-options summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;font-size:14px}.fortune-options summary span{color:var(--pv-muted)}.fortune-options>p{font-size:12px;margin:16px 0}.fortune-category-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0}.fortune-category-list label{display:flex;align-items:center;gap:12px;margin:0;cursor:pointer;font-size:13px}.fortune-category-list input{appearance:auto!important;width:20px!important;height:20px!important;min-height:20px!important;margin:0;flex-shrink:0}.fortune-category-list span{overflow-wrap:anywhere}.fortune-error{color:var(--pv-danger);font-size:12px;margin-top:12px}.fortune-error:empty{display:none}#fortune-category-form{margin-top:18px}#fortune-category-form>.btn{margin-top:10px}@media(max-width:760px){.fortune-launch{align-items:flex-start;flex-direction:column;gap:14px;padding:20px}.fortune-wheel-wrap{max-width:310px}.fortune-options .btn{white-space:normal}}

/* Equal-radius vivid rays and a stationary logo hub, as in the reference. */
.fortune-wheel-wrap{width:min(100%,360px);margin:24px auto 16px}
.fortune-wheel-wrap canvas{border-radius:50%;filter:drop-shadow(0 9px 10px #00000025)}
.fortune-hub{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:25%;height:25%;min-height:0;padding:8px;border:5px solid #fff;border-radius:50%;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:visible;box-shadow:0 3px 8px #0003}
.fortune-hub::before{content:'';position:absolute;left:50%;top:-25px;transform:translateX(-50%);border-left:20px solid transparent;border-right:20px solid transparent;border-bottom:29px solid #fff}
.fortune-hub::after{content:'';position:absolute;left:50%;top:-17px;transform:translateX(-50%);border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:22px solid #000}
.fortune-hub img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1);pointer-events:none}
.fortune-hub:disabled{opacity:1;cursor:wait}
.fortune-hub:focus-visible{outline:3px solid var(--pv-ink);outline-offset:5px}
@media(max-width:760px){.fortune-wheel-wrap{max-width:330px}.fortune-hub{padding:6px;border-width:4px}}

/* Light-theme logo colors with the white pointer outline retained. */
.fortune-hub{background:#f8e274;transform-origin:50% 50%}
.fortune-hub::after{border-bottom-color:#f8e274}
.fortune-hub img{filter:brightness(0)}
@media(prefers-reduced-motion:reduce){.fortune-hub{animation:none!important}}

.preview-design .fortune-today-button{background:#171914;color:#fffbed;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;font-size:14px;min-height:46px;box-shadow:none}
.fortune-today-button svg{width:18px;height:18px}
.preview-design .fortune-today-button:hover{background:#30342b}
.preview-design .fortune-today-button:focus-visible{outline:2px solid var(--pv-ink);outline-offset:4px}
