/* Alma readability layer. Loaded after style.css and lounge.css. */
:root{font-size:16px;--muted:#cec6d9}
body{font-size:1rem;line-height:1.6}
header,main{min-width:0}
.stage{align-items:start}
.brand small{font-size:.6875rem;letter-spacing:.09em;line-height:1.5}
.headlinks{font-size:.9375rem;gap:16px}
.intro p{font-size:1rem;line-height:1.7}
.eyebrow,.mini-label{font-size:.75rem;letter-spacing:.1em;line-height:1.6}
.banner{font-size:.9375rem;line-height:1.6;padding:12px 16px}
.wheel-tag{font-size:.9375rem;line-height:1.6;flex-wrap:wrap;gap:6px 9px;margin-bottom:24px}
.under-wheel{font-size:1rem;line-height:1.65;margin:18px 0}
.room-guide{font-size:1rem;line-height:1.65;color:#e1d9eb;max-width:38rem;margin:14px auto 22px}
.wheel-entry{display:none}
.primary,.spin,.outline{font-size:1rem;line-height:1.4;min-height:48px;white-space:normal}
.primary{padding:14px 16px}
.spin{max-width:100%;min-width:min(260px,100%);font-size:1.125rem}
.spin span{margin-left:12px}
.music{font-size:1rem;min-height:44px;padding:10px 8px}
.profile-card p{font-size:1rem;line-height:1.65}
.profile-card h2{overflow-wrap:anywhere}
.note-card strong{font-size:1rem}
.note-card p{font-size:.9375rem;line-height:1.6}
.bulb{min-width:44px;min-height:44px}
/* Keep faces clear; readable names and cities appear in the list below. */
.bulb .name,.center-cap small{display:none}
.chat-heading{align-items:flex-start}
.chat-heading>div{min-width:0}
.chat-heading h2{font-size:1.125rem;line-height:1.4}
.chat-heading small{display:block;font-size:.9375rem;line-height:1.6;overflow-wrap:anywhere;margin-top:4px}
.chat-body{height:340px}
.chat-empty{height:auto;min-height:100%;padding:12px 0}
.chat-empty h3{font-size:1.375rem;line-height:1.4;margin:16px 0 10px}
.chat-empty p{font-size:1rem;line-height:1.65;max-width:28rem}
.bubble{font-size:1rem;line-height:1.6}
.bubble small{font-size:.8125rem;color:#d7c3d2}
.message-form input{font-size:1rem;min-height:48px;line-height:1.5}
.message-form button{min-width:48px;min-height:48px;font-size:1.125rem}
.chat-actions{justify-content:flex-start;gap:8px;padding:8px 14px 14px}
.chat-actions button,.chat-actions #dedicate{font-size:.9375rem;min-height:44px;padding:10px;color:#e1d7eb}
.invite-row{font-size:1rem;line-height:1.6;padding:12px}
.invite-row button{font-size:1rem;min-height:44px;padding:10px 14px}
.chatnotice{font-size:1rem;line-height:1.65}
.steps h3{font-size:1.0625rem;line-height:1.5}
.steps p{font-size:1rem;line-height:1.65}
footer{font-size:.875rem;line-height:1.65;flex-wrap:wrap;color:#c6bbcf;align-items:center}
footer button,.textbutton{font-size:.9375rem;min-height:44px;padding:10px}
dialog{width:min(94%,32rem);max-height:88dvh;overflow:auto;padding:28px 24px}
dialog h2{font-size:1.875rem;line-height:1.25;padding-right:22px}
dialog p{font-size:1rem;line-height:1.65;color:#d6cadc}
dialog label{font-size:1rem;line-height:1.6;color:#e4d9ea}
dialog input:not([type=checkbox]),dialog select{font-size:1rem;line-height:1.5;min-height:48px;padding:12px}
dialog .upload small,.upload small{font-size:.875rem;line-height:1.6;margin-top:6px}
dialog .upload input{font-size:1rem;max-width:100%;min-width:0}
.check input{width:22px;height:22px;flex-shrink:0;margin:3px 0 0}
.close{width:44px;height:44px;min-width:44px;min-height:44px;right:4px;top:4px;font-size:1.75rem;line-height:1}
.fine{font-size:.875rem!important;line-height:1.65}
.genre-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.genre-links a{font-size:1rem;min-height:48px;overflow-wrap:anywhere}
.music-tip{font-size:1rem;line-height:1.65}
.song-label,.song-note{font-size:.875rem;line-height:1.6}
.song-card strong{font-family:inherit;font-size:1.125rem}
.listen-panel p,.listen-panel .fine{font-size:.9375rem;line-height:1.65}
.listen-panel button,.song-card button{font-size:1rem;min-height:44px;line-height:1.5}
.listen-dock-bar{font-size:.875rem;line-height:1.5;flex-wrap:wrap}
.listen-dock-bar span{flex:1;min-width:0}
.listen-dock-bar button,.listen-dock-controls button{font-size:.9375rem;min-height:44px;line-height:1.4;padding:10px 12px}
.listen-dock-controls small{font-size:.8125rem;line-height:1.6;color:#e1d3df}
body.listening-together{padding-bottom:390px}
#toast{font-size:1rem;line-height:1.5;width:max-content;max-width:calc(100% - 24px);overflow-wrap:anywhere}
.people-section{margin:28px 0 0;text-align:left;padding-top:22px;border-top:1px solid #ffffff24}
.people-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.people-heading h2{font-size:1.125rem;line-height:1.5;margin:0}
#peopleCount{font-size:.875rem;color:#cec6d9}
.people-explainer,.people-empty{font-size:.9375rem;line-height:1.65;color:#cec6d9;margin:10px 0 14px}
.people-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px}
.person-item{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:14px;border:1px solid #ffffff20;border-radius:14px;background:#201d29}
.person-item>img{display:block;width:56px;height:56px;object-fit:cover;flex-shrink:0;border-radius:50%}
.person-details{min-width:0;overflow-wrap:anywhere}
.person-details strong{display:block;font-size:1rem;line-height:1.5;color:#faf7ff}
.person-city,.person-mood{display:block;font-size:.875rem;line-height:1.6;color:#d1c7dd}
.person-mood{margin-top:3px}
@media(min-width:1001px) and (max-width:1200px){.stage{grid-template-columns:minmax(180px,1fr) minmax(300px,1.65fr) minmax(225px,1.1fr);gap:16px}}
@media(max-width:1000px){header{flex-wrap:wrap;gap:16px}.headlinks{flex-wrap:wrap;max-width:100%}.right{grid-template-columns:minmax(0,1fr)}.little-quote{display:none}.chat-body{height:320px}}
@media(max-width:680px){
 header{flex-wrap:wrap;gap:16px;padding:18px 5%}
 .brand{font-size:1.375rem;letter-spacing:-.04em;max-width:100%}
 .brand small{font-size:.6875rem;letter-spacing:.07em}
 .headlinks{width:100%;gap:12px;justify-content:space-between;flex-wrap:wrap}
 .headlinks>.outline{display:block;flex:1;min-width:0;min-height:48px;font-size:1rem;padding:12px;background:#292330}
 .headlinks .music{font-size:1rem;min-height:48px;flex-shrink:0}
 .headlinks .music span{display:inline}
 .intro{padding-top:26px}
 h1{font-size:clamp(2rem,8vw,2.625rem);letter-spacing:-.05em;overflow-wrap:anywhere}
 .intro p{font-size:1rem;line-height:1.7}
 .eyebrow,.mini-label{font-size:.75rem;letter-spacing:.08em}
 .banner{font-size:.9375rem;line-height:1.6}
 .wheel-entry{display:block;margin:0 auto 12px;max-width:26rem;font-size:1.0625rem}
 .room-guide{font-size:1rem;line-height:1.65;margin:12px 0 18px}
 .wheel-tag{font-size:.875rem}
 .wheel-wrap{width:100%;margin-top:8px;margin-bottom:0}
 .spin{min-width:0;width:100%;max-width:26rem;padding:16px 18px;font-size:1.125rem}
 .profile-card h2{font-size:1.25rem;line-height:1.4}
 .profile-card p{font-size:1rem;line-height:1.6}
 .profile-card{grid-template-columns:54px minmax(0,1fr);gap:4px 14px}
 .under-wheel{font-size:1rem}
 .chat-body{height:320px}
 .chat-empty p{max-width:100%}
 .steps{gap:24px}
 footer{font-size:.875rem;gap:8px}
 .people-list{grid-template-columns:1fr}
 .people-section{margin-top:22px}
 dialog{padding:24px 20px}
 .listen-panel{padding:14px}
}
@media(max-width:360px){.brand{font-size:1.25rem}.headlinks{gap:8px}.headlinks>.outline{font-size:.9375rem;padding:12px 8px}.headlinks .music{padding:10px 0}.genre-links{grid-template-columns:1fr}.center-cap strong{font-size:21px}}

/* Simple Alma: one entry, a quieter wheel, and room for conversation. */
body{background:#121116;background-image:none}
header,main{max-width:1160px}
header{padding:22px 4%;gap:20px}
main{padding:0 4%}
.brand{font-size:1.375rem;letter-spacing:-.045em}
.brandmark{width:36px;height:36px;font-size:21px;background:#ff938710}
.brand small{font-size:.625rem;letter-spacing:.09em}
.headlinks{gap:20px;flex-wrap:nowrap}
.headlinks .entry-button{width:auto;min-width:160px;margin:0;border-radius:12px;padding:12px 18px}
.primary,.spin{background:#ffab9d;box-shadow:none}
.music{color:#d5cbdc;white-space:nowrap}
.intro{padding:38px 0 16px}
h1{font-size:clamp(2rem,4.5vw,3.25rem);letter-spacing:-.055em;margin:0}
.intro p{margin:14px auto 0;color:#c7bfce}
.banner{border:0;background:none;max-width:none;padding:8px;margin:0 auto 26px;font-size:.875rem;letter-spacing:0;color:#c7bfce}
.banner.live{color:#c7bfce}
.stage{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;align-items:start}
.left{grid-column:1/-1;order:0;width:100%}
.wheel-column{grid-column:1;order:1;width:100%}
.right{grid-column:2;order:2;display:block;width:100%;padding-top:44px}
.profile-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:2px 14px;text-align:left;padding:14px 18px;border-radius:14px;background:#1b1921;box-shadow:none}
.my-avatar{width:44px;height:44px;grid-row:1/3;margin:0;font-size:26px}
.profile-card h2{grid-column:2;font-size:1rem;line-height:1.4;margin:0}
.profile-card p{grid-column:2;margin:0;font-size:.875rem}
.profile-card .textbutton{grid-column:3;grid-row:1/3;font-size:.8125rem;max-width:130px;text-align:right;padding:8px 0}
.room-guide{margin:0 auto 16px;font-size:.875rem;max-width:26rem}
.wheel-tag{font-size:.875rem;margin-bottom:20px;letter-spacing:0}
.wheel-wrap{max-width:400px;margin:0 auto}
.wheel-wrap:before{box-shadow:none;background:none}
.wheel-wrap:after{inset:2.8%;border:1px solid #8f7d9e;box-shadow:none;animation:none!important}
.gear{filter:none}
.gear path{stroke:#62546d;stroke-width:1;fill:#18161e}
.gear circle{opacity:.12}
.bulb,.bulb.empty{background:#24202c;border-color:#8a789440;box-shadow:none}
.bulb.empty{color:#b5a6bf}
.bulb.empty:hover{box-shadow:none;background:#332b3d}
.center-cap{width:34%;background:#201c28;border:1px solid #8a789440;box-shadow:none}
.center-cap strong{font-size:clamp(23px,2.4vw,29px);letter-spacing:-1px}
.center-cap>span{font-size:20px}
.pointer{font-size:21px;text-shadow:none}
.spin{border-radius:12px;margin-top:22px;font-size:1rem;padding:14px 24px;min-width:220px}
.spin:disabled{opacity:.55;cursor:not-allowed}
.under-wheel{font-size:.875rem;max-width:28rem;margin:14px auto 0}
.people-section{margin-top:26px;padding-top:18px}
.people-heading h2{font-size:1rem}
.people-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
.person-item{border:0;background:#1d1a24;padding:12px;border-radius:12px;gap:10px}
.person-item>img{width:44px;height:44px}
.person-details strong{font-size:.9375rem}
.person-city,.person-mood{font-size:.8125rem}
.chat-card{background:#1b1921;border:1px solid #ffffff12;border-radius:16px;box-shadow:none}
.chat-heading{padding:18px;gap:12px}
.chat-heading h2{font-size:1rem}
.chat-heading small{font-size:.8125rem}
.chat-icon{width:32px;height:32px;background:none;font-size:26px}
.chat-body{height:210px;padding:18px}
.chat-empty{min-height:100%;padding:10px}
.chat-empty h3{font-size:1.25rem;margin:0 0 12px}
.chat-empty p{font-size:.9375rem;max-width:24rem}
.has-conversation .chat-body{height:360px}
footer{margin-top:32px;padding:20px 0;border-top:1px solid var(--line);font-size:.8125rem;gap:12px}
footer span:nth-child(2){font-size:.8125rem}
@media(max-width:800px){
 header{flex-wrap:wrap;padding:18px 4%;gap:16px}
 .headlinks{width:auto;margin-left:auto;gap:12px}
 .headlinks .entry-button{min-width:0;font-size:.9375rem;padding:12px 14px}
 .stage{grid-template-columns:minmax(0,1fr);gap:24px}
 .left,.wheel-column,.right{grid-column:1;order:initial}
 .right{padding-top:0}
 .wheel-wrap{max-width:370px}
 .people-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
 .chat-body{height:160px}
 .has-conversation .chat-body{height:340px}
 .intro{padding-top:26px}
 .banner{margin-bottom:22px}
 .center-cap strong{font-size:25px}
}
@media(max-width:480px){
 header{gap:14px}
 .brand{font-size:1.25rem}
 .headlinks{width:100%;justify-content:space-between;margin:0}
 .headlinks .music{font-size:.9375rem;padding:10px 0}
 .headlinks .entry-button{flex:none;min-width:175px}
 .intro{padding-top:24px}
 h1{font-size:clamp(1.9rem,8vw,2.5rem)}
 .intro p{font-size:.9375rem}
 .profile-card{padding:12px;gap:3px 10px}
 .profile-card .textbutton{max-width:90px;font-size:.75rem}
 .spin{width:100%;max-width:26rem}
 footer{display:grid;grid-template-columns:1fr auto;gap:4px 12px}
 footer span:nth-child(2){grid-column:1/-1;grid-row:2;order:initial;width:auto}
 footer button{grid-column:2;grid-row:1;padding:8px 0;font-size:.8125rem}
}

/* Music night atmosphere. Dancers are decorative, never room profiles. */
body{position:relative;isolation:isolate;background:#121116}
body::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;left:0;right:0;height:960px;background-image:linear-gradient(180deg,rgba(18,17,22,.55) 0%,rgba(18,17,22,.5) 24%,rgba(18,17,22,.76) 63%,#121116 100%),url('alma-dance-v1.png');background-position:center top;background-repeat:no-repeat;background-size:cover}
header{background:rgba(18,17,22,.8);border-bottom-color:#ffffff14}
.intro{padding-top:46px;padding-bottom:20px}
h1{text-shadow:0 2px 24px #0009}
h1 em{color:#ffab9d}
.intro p{color:#f0e6ef;text-shadow:0 2px 12px #000;font-size:1.0625rem}
.banner{color:#e6dae6!important;text-shadow:0 1px 8px #000;background:#15121ccc;border:1px solid #ffffff13;border-radius:12px;padding:10px 16px;max-width:660px;margin-bottom:28px}
.chat-card,.profile-card{background:#1b1921f5}
.people-section{border-top-color:#ffffff26;background:#15121cdd;padding:18px;border-radius:14px}
.people-empty,.under-wheel,.room-guide,.wheel-tag{color:#e2d7e8;text-shadow:0 1px 8px #000}
@media(max-width:800px){body::before{height:880px;background-size:auto 880px;background-position:26% top}.intro{padding-top:32px}.banner{font-size:.8125rem;margin-bottom:24px}.people-section{padding:16px}.intro p{font-size:1rem}}
@media(max-width:480px){body::before{height:840px;background-size:auto 840px;background-position:21% top}h1{font-size:clamp(1.8rem,7.7vw,2.4rem)}.intro p{font-size:.9375rem;max-width:22rem}}

/* Neon chrome: bright accents, dark surfaces, static metallic highlights. */
:root{--pink:#ff58d9;--gold:#89f7ff;--muted:#cbd0e5;--line:#8eeaff30}
body{background-color:#0b0d17;color:#f6f5ff}
body::before{background-image:linear-gradient(180deg,#0b0d1766 0%,#160b276e 25%,#0b0d17c9 65%,#0b0d17 100%),url('alma-dance-v1.png')}
header{background:#0b0d17e6;border-bottom:1px solid #75efff38}
.brandmark{color:#ff6ddd;background:linear-gradient(135deg,#421852,#142b43);border:1px solid #d394ff77;box-shadow:inset 0 1px 0 #ffffff44,0 0 18px #ff43cc26}
.brand small,.music{color:#b8efff}
h1{color:#edf4ff;text-shadow:0 2px 24px #000b}
h1 em{color:#8af8ff;text-shadow:0 0 24px #26dff14d}
.eyebrow{color:#e29bff}
.primary,.spin{color:#100f26;border:1px solid #e3fbffb3;background:linear-gradient(115deg,#75eaff 0%,#cbadff 42%,#f8d9ff 49%,#b6a0ff 57%,#ed78df 100%);box-shadow:inset 0 1px 0 #fff9,inset 0 -2px 0 #59287140,0 4px 24px #9e53ff33;font-weight:750}
.primary:hover,.spin:not(:disabled):hover{filter:brightness(1.12);box-shadow:inset 0 1px 0 #fff,0 0 28px #b362ff66}
.spin:disabled{opacity:.5;filter:saturate(.5);box-shadow:none}
.banner{background:#111526eb;border-color:#a281ff55}
.chat-card,.profile-card,dialog{background:linear-gradient(145deg,#262e42 0%,#171c2e 18%,#111521 65%,#211831 100%);border:1px solid #a0b4dc66;box-shadow:inset 0 1px 0 #d6e9ff33,0 12px 36px #0005}
.chat-heading{border-bottom-color:#92cfff30}
.chat-icon,.center-cap>span{color:#ff6ddd;text-shadow:0 0 16px #ff50cc55}
.chat-heading small,.profile-card p,.chat-empty p{color:#d1d8ec}
.people-section{background:#101523eb;border:1px solid #75dfff33;box-shadow:inset 0 1px 0 #d0f5ff15}
.person-item{background:linear-gradient(135deg,#263347,#171b2d);border:1px solid #81dcff30}
.person-city,.person-mood,#peopleCount,.people-empty,.people-explainer{color:#c8d6ed}
.gear path{fill:#111526;stroke:#8eacdd;stroke-width:1.6}
.gear circle{stroke:#6fefff;opacity:.45}
.wheel-wrap:after{border:1px solid #93f6ff99;box-shadow:0 0 20px #29d9f72b,inset 0 0 18px #9966ff1a}
.bulb,.bulb.empty{background:linear-gradient(140deg,#364c65 0%,#19253e 35%,#302040 100%);border:1px solid #9ca5ffb3;box-shadow:inset 0 1px 1px #effbff66,0 0 12px #a354ff33}
.bulb:nth-child(3n+1){border-color:#75edffb3;box-shadow:inset 0 1px 1px #fff6,0 0 12px #38ddff40}
.bulb:nth-child(3n+2){border-color:#fa82dfb3;box-shadow:inset 0 1px 1px #fff6,0 0 12px #f34ccf33}
.bulb.empty{color:#d9dcff}
.bulb.empty:hover{background:#374263;box-shadow:0 0 22px #5ce6ff66}
.center-cap{background:linear-gradient(145deg,#5c6984 0%,#2b3450 19%,#12172c 48%,#3d2553 100%);border:1px solid #c1d4f2aa;box-shadow:inset 0 2px 0 #e5f5ff66,0 0 0 5px #101421bb,0 0 24px #9b5cff2b}
.center-cap strong{color:#f1f5ff}.center-cap em{color:#96f4ff}
.pointer{color:#f880e4;text-shadow:0 0 12px #ff49ce66}
.music:hover,.textbutton:hover,footer button:hover{color:#8af8ff}
.bubble.mine{background:#423069;border:1px solid #ba9bff55}
.message-form input,dialog input:not([type=checkbox]),dialog select{background:#101627;color:#f2f5ff;border-color:#8badd35c}
.message-form button,.invite-row button,.listen-panel button,.song-card button{background:linear-gradient(125deg,#96efff,#c9b2ff);color:#111526}
.genre-links a,.song-card a{color:#a5f4ff;border-color:#76e7ff66}
.listen-panel{background:#161b30;border-color:#9285ff55}
.listen-panel h3,.song-label,.song-card strong{color:#a5f4ff}
:where(button,a,input,select):focus-visible{outline:3px solid #8af8ff;outline-offset:4px}
#toast{background:#d9c5ff;color:#171126;border:1px solid #f0e4ff}

/* Sculpted chrome: depth without changing the wheel's rotation or hit targets. */
.wheel-wrap::before{inset:3%;background:radial-gradient(circle at 30% 22%,#b5ebff15,transparent 60%);box-shadow:0 9px 0 #111523,0 13px 0 #080b13,0 26px 30px -8px #000b,0 0 40px #9d64ff26;pointer-events:none}
.wheel-wrap::after{inset:2.8%;border:4px solid #a7c3e3;border-top-color:#edfcff;border-left-color:#b4a0ef;border-right-color:#7394c1;border-bottom-color:#353e64;box-shadow:inset 0 2px 2px #fff7,inset 0 -3px 3px #050816aa,0 1px 0 #ecfaff99,0 5px 0 #222b45,0 7px 0 #7895bb,0 10px 0 #0c1223,0 16px 24px #0009,0 0 22px #70e9ff33;pointer-events:none}
.gear{filter:drop-shadow(0 4px 1px #060a16aa)}
.center-cap{background:linear-gradient(145deg,#869ab5 0%,#435674 17%,#26344e 32%,#151c32 52%,#3c2b54 80%,#675080 100%);border:2px solid #abc0da;border-top-color:#f2fcff;border-bottom-color:#3b426b;box-shadow:inset 0 2px 2px #fff6,inset 0 -5px 8px #070b2280,0 0 0 4px #101827,0 0 0 5px #86b6df80,0 7px 0 4px #0b1021,0 13px 16px #0009,0 0 22px #a76bff33}
.center-cap strong{text-shadow:0 2px 2px #070b1bcc}
.bulb,.bulb.empty{border-width:2px;border-top-color:#e2f9ffcc;border-bottom-color:#4b487c;box-shadow:inset 0 2px 2px #ffffff44,inset 0 -3px 5px #04071777,0 3px 0 #0a1020,0 5px 8px #0008,0 0 12px #a354ff33}
.bulb:nth-child(3n+1){box-shadow:inset 0 2px 2px #fff5,inset 0 -3px 5px #04071777,0 3px 0 #0a1020,0 5px 8px #0008,0 0 12px #38ddff40}
.bulb:nth-child(3n+2){box-shadow:inset 0 2px 2px #fff5,inset 0 -3px 5px #04071777,0 3px 0 #0a1020,0 5px 8px #0008,0 0 12px #f34ccf33}
.primary,.spin{position:relative;box-shadow:inset 0 2px 1px #ffffffb3,inset 0 -2px 0 #582d7a66,0 5px 0 #533571,0 6px 0 #bba8e888,0 10px 16px #0007,0 0 22px #a554ff26;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}
.primary:not(:disabled):active,.spin:not(:disabled):active{transform:translateY(4px);filter:brightness(.98);box-shadow:inset 0 2px 4px #2e1d4440,0 1px 0 #533571,0 2px 0 #bba8e866,0 4px 7px #0006}
.primary:disabled,.spin:disabled{transform:none;box-shadow:inset 0 1px 0 #ffffff55;cursor:not-allowed}
@media(hover:hover) and (pointer:fine){
 .primary:not(:disabled):hover,.spin:not(:disabled):hover{transform:translateY(-1px);box-shadow:inset 0 2px 1px #fff,0 6px 0 #533571,0 7px 0 #bba8e888,0 12px 18px #0007,0 0 28px #a965ff55}
 .primary:not(:disabled):hover:active,.spin:not(:disabled):hover:active{transform:translateY(4px);box-shadow:inset 0 2px 4px #2e1d4440,0 1px 0 #533571,0 3px 7px #0006}
}
@media(prefers-reduced-motion:reduce){.primary,.spin{transition:none}.primary:not(:disabled):hover,.spin:not(:disabled):hover,.primary:not(:disabled):active,.spin:not(:disabled):active{transform:none}}

/* Visible motion: an orbiting light outside the stationary chrome rim. */
@keyframes almaNeonOrbit{to{transform:rotate(360deg)}}
@keyframes almaMetalSweep{from{background-position:180% 0,0 0}to{background-position:-80% 0,0 0}}
@media(prefers-reduced-motion:no-preference){
 .wheel-wrap::before{inset:.5%;padding:3px;border:0;background:conic-gradient(from 0deg,transparent 0deg,#61edff 45deg,#f183ff 85deg,transparent 125deg,transparent 180deg,#61edff 225deg,#f183ff 265deg,transparent 305deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;box-shadow:none;animation:almaNeonOrbit 8s linear infinite;pointer-events:none}
 .primary:not(:disabled),.spin:not(:disabled){background-image:linear-gradient(110deg,transparent 30%,#ffffff00 36%,#ffffffcc 48%,#ffffff00 60%,transparent 66%),linear-gradient(115deg,#75eaff,#cbadff 42%,#f8d9ff 49%,#b6a0ff 57%,#ed78df);background-size:250% 100%,100% 100%;background-repeat:no-repeat;animation:almaMetalSweep 3.5s linear infinite}
 .primary:not(:disabled):active,.spin:not(:disabled):active{animation-play-state:paused}
}
@media(prefers-reduced-motion:reduce){.wheel-wrap::before,.wheel-wrap::after,.primary,.spin{animation:none!important}}
