/* MixUp Rush · five-stage surprise adventure */
.rush-app{max-width:760px;margin:0 auto;padding:14px 14px 40px;color:#352b68}
.rush-welcome-hero{text-align:center;border-radius:27px;padding:31px 23px 27px;
 background:radial-gradient(circle at 50% 0%,#af49df 0%,#6e37bd 40%,#27144c 90%);
 box-shadow:0 12px 32px #51409f33;color:#fff;overflow:hidden;position:relative}
.rush-welcome-hero::before{content:"";position:absolute;inset:0;background:
 radial-gradient(circle at 10% 23%,#ffffff40 0 2px,transparent 4px),
 radial-gradient(circle at 90% 47%,#88ffff89 0 3px,transparent 6px),
 radial-gradient(circle at 28% 81%,#ecf1ff9e 0 2px,transparent 5px);pointer-events:none}
.rush-welcome-icon{font-size:69px;filter:drop-shadow(0 5px 13px #ef99ff);animation:rush-idle-spin 5s ease-in-out infinite}
.rush-welcome-hero>span{font-size:11px;letter-spacing:.15em;font-weight:900;color:#f6c8ff}
.rush-welcome-hero h1{font-size:clamp(37px,8.4vw,57px);margin:5px 0 7px;color:#fff;
 letter-spacing:-.04em;text-shadow:0 5px 19px #14083f}
.rush-welcome-hero p{max-width:480px;margin:0 auto;color:#f6e9ff;font-size:15px;line-height:1.58}
.rush-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:18px 0}
.rush-mode{min-width:0;padding:21px 17px;border-radius:22px;text-align:left;
 background:linear-gradient(160deg,#f9f4ff,#ede9ff);
 border:2px solid #dcd0f6;box-shadow:0 5px 17px #4c289322;display:flex;flex-direction:column;gap:10px}
button.rush-mode{cursor:pointer;color:#30266a;transition:transform .22s,box-shadow .22s,border-color .22s}
button.rush-mode:hover{transform:translateY(-4px);border-color:#ad67ff;box-shadow:0 12px 25px #8a57dc48}
.rush-mode>span{font-size:44px;filter:drop-shadow(0 5px 8px #9063ba45)}
.rush-mode strong{font-size:23px;font-weight:950;line-height:1.2;color:#422c82}
.rush-mode small{font-size:13px;line-height:1.5;color:#6d6092;flex:1}
.rush-mode b{display:block;border-radius:12px;padding:11px 16px;background:linear-gradient(120deg,#6938c0,#e250ae);color:white;font-size:14px;text-align:center}
.rush-mode input{width:100%;box-sizing:border-box;background:#fff;border:1px solid #b5a4d9;
 border-radius:12px;color:#37245f;font-size:15px;padding:11px}
.rush-mode label{font-size:11px;font-weight:900;letter-spacing:.08em}
.rush-multiactions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rush-multiactions input{grid-column:1}
.rush-multiactions button:first-child{grid-column:1 / -1}
.rush-multiactions button,.rush-next,.rush-secondary{border:0;border-radius:13px;
 padding:13px 17px;font-weight:900;font-size:14px;cursor:pointer}
.rush-multiactions button,.rush-next{background:linear-gradient(115deg,#7447db,#c849d7);color:#fff;
 box-shadow:0 6px 16px #845bcc47;transition:transform .18s,filter .18s}
.rush-multiactions button:active,.rush-next:active{transform:scale(.97)}
.rush-next{width:100%;font-size:17px;padding:16px 18px;margin-top:18px}
.rush-next:disabled{opacity:.5;cursor:default}
.rush-secondary{width:100%;background:#f0ecfb;color:#674eb3;margin-top:11px}
.rush-smallnote{text-align:center;font-size:12px;color:#766f96;line-height:1.5}
.rush-error{background:#fff1ee;border:1px solid #efb4ac;border-radius:12px;padding:12px 14px;color:#9b3c3c;font-weight:700}
.rush-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}
.rush-back{border:0;background:#eee8fc;color:#6547ab;font-size:13px;font-weight:900;
 border-radius:11px;padding:9px 12px;cursor:pointer}
.rush-brand,.rush-pts{font-weight:900;color:#6b44b2;font-size:12px}
.rush-stages{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:20px}
.rush-stage-dot{height:44px;display:grid;place-items:center;background:#efe9fa;border:2px solid #dfd6f7;
 border-radius:14px;font-weight:950;font-size:17px;color:#968ab5;transition:background .25s,border-color .25s}
.rush-stage-dot.current{background:linear-gradient(130deg,#b062ef,#783adc);color:white;
 border-color:#dbc1ff;box-shadow:0 7px 19px #a64fde77;animation:rush-active .9s ease-in-out infinite alternate}
.rush-stage-dot.complete{background:#e3fcf5;color:#0a9979;border-color:#a6d9ca}
.rush-stage-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;
 font-weight:900;font-size:11px;letter-spacing:.12em;color:#7756b6}
.rush-clock{font-size:18px;color:#b5418c;letter-spacing:0;font-variant-numeric:tabular-nums}
.rush-stage>h1{font-size:clamp(30px,8vw,43px);margin:8px 0 18px;color:#4e2b91}
.rush-stage-card{background:linear-gradient(155deg,#fcf9ff,#f1efff);
 border:2px solid #dfd5f5;border-radius:26px;padding:20px;
 box-shadow:0 10px 31px #49327e23;overflow:hidden}
.rush-stage-card.rush-boss{border-color:#e4ba5c;background:linear-gradient(150deg,#fffaf0,#f2eaff);
 box-shadow:0 0 0 5px #ffe9b45c,0 10px 35px #8758b63d}
.rush-stage-progress{display:flex;justify-content:space-between;gap:12px;color:#64509b;
 font-size:13px;font-weight:900}
.rush-progress-track{height:9px;margin:12px 0 17px;background:#ded6f3;overflow:hidden;border-radius:50px}
.rush-progress-track>div{height:100%;background:linear-gradient(90deg,#42bfce,#a457e8,#eb4ca8);
 border-radius:50px;transition:width .25s ease}
.rush-instruction{font-size:17px;font-weight:900;text-align:center;color:#4a338d;margin:15px auto 20px}
.rush-label{display:inline-block;background:#e5dbff;padding:6px 11px;color:#7353bc;border-radius:20px;
 font-size:11px;font-weight:900}
.rush-learn h2{font-size:21px;line-height:1.38;color:#302c63;margin:16px 0}
.rush-learning-image{max-height:195px;max-width:100%;display:block;margin:0 auto 15px;object-fit:contain;border-radius:12px}
.rush-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.rush-options button{border:1px solid #cfc2f1;border-radius:15px;padding:13px 9px;
 color:#3a3369;background:white;font-weight:850;font-size:14px;display:flex;align-items:center;
 gap:7px;text-align:left;cursor:pointer;min-height:60px}
.rush-options button span{background:#e7dbff;border-radius:9px;padding:8px;font-weight:950;color:#7e4ac1}
.rush-options button:active{background:#f0e9ff}
.rush-target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:355px;margin:20px auto}
.rush-target-grid button{aspect-ratio:1;border-radius:19px;border:2px solid #b3a8e8;
 background:radial-gradient(circle at 30% 20%,#5946aa,#21195c);color:#988cc7;font-size:27px;cursor:pointer}
.rush-target-grid button.rush-target-hot{font-size:44px;background:radial-gradient(circle,#ffe7a3,#de54de 50%,#46309f);
 box-shadow:0 0 19px #d65cefa3,inset 0 0 16px #fff7;animation:rush-hot .7s ease-in-out infinite alternate}
.rush-memory-preview{min-height:83px;display:flex;justify-content:center;align-items:center;gap:7px;
 flex-wrap:wrap;background:#ebe4ff;border-radius:15px;margin-bottom:15px;padding:10px}
.rush-memory-chip{font-size:25px;animation:rush-pop .3s ease backwards}
.rush-memory-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;max-width:400px;margin:0 auto}
.rush-memory-button{min-height:99px;border:2px solid #fff8;border-radius:20px;
 background:linear-gradient(135deg,#fff,#d9cfff);font-size:40px;cursor:pointer;
 box-shadow:0 5px 13px #3c268625;transition:transform .15s}
.rush-memory-button:active{transform:scale(.93)}.rush-memory-button:disabled{opacity:.5}
.rush-sequence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;max-width:410px;margin:16px auto}
.rush-sequence-grid button{aspect-ratio:1;background:linear-gradient(125deg,#6246bc,#c45fcf);color:#fff;
 border:2px solid #f0dbff;border-radius:18px;font-size:30px;font-weight:950;
 text-shadow:0 3px 10px #493b8e;cursor:pointer}
.rush-sequence-grid button.cleared{background:#cef7dd;color:#439c76;opacity:.6}
.rush-pairs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px auto;max-width:425px}
.rush-pairs-grid button{aspect-ratio:1;background:linear-gradient(135deg,#52309b,#bd4cce);
 color:#fff;border:2px solid #d2a6ec;border-radius:15px;font-size:32px;cursor:pointer}
.rush-pairs-grid button.matched{background:#caeee8;border-color:#7acdbb}
.rush-odd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:380px;margin:16px auto}
.rush-odd-grid button{aspect-ratio:1;border:2px solid #fff;border-radius:13px;cursor:pointer;
 box-shadow:inset 0 5px 10px #ffffff30,0 5px 13px #38295930}
.rush-reveal{text-align:center;padding:25px 8px}
.rush-reveal>span{font-size:72px;filter:drop-shadow(0 8px 10px #ad61dc61);display:block;animation:rush-pop .45s ease-out}
.rush-reveal h2{font-size:30px;color:#6739af;margin:11px 0}
.rush-reveal p{color:#6d618e;font-size:16px;line-height:1.5}
.rush-competition,.rush-wait{text-align:center;color:#8068a8;font-size:13px;font-weight:850}
.rush-results{background:#f6f3fe;border:1px solid #d8cbf0;border-radius:18px;margin-top:20px;padding:14px 16px}
.rush-results h3{color:#4d368c;margin:0 0 10px}
.rush-results>div{padding:10px 0;border-bottom:1px solid #ded5ef;display:flex;justify-content:space-between;gap:14px}
.rush-results>div:last-child{border-bottom:none}
.rush-results span{color:#4e4871}
.rush-results b{color:#8250be}
.rush-lobby-card{border-radius:25px;padding:28px 20px;background:linear-gradient(135deg,#fbf7ff,#eefaff);
 text-align:center;border:2px solid #dcd0f5;box-shadow:0 12px 26px #5834a22b}
.rush-eyebrow{font-weight:900;font-size:12px;letter-spacing:.15em;color:#7a65b5}
.rush-room-code{font-weight:1000;font-size:clamp(45px,14vw,74px);letter-spacing:.11em;
 color:#6532af;margin:13px 0;text-shadow:0 2px 5px #c4aaff}
.rush-lobby-card p{line-height:1.55;color:#70658b}
.rush-roster{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.rush-roster span{padding:9px 12px;border-radius:14px;background:#e6dfff;font-weight:900;color:#6545b5}
.rush-finale{text-align:center;border-radius:29px;padding:28px 20px;
 background:linear-gradient(145deg,#321663,#9b48c2,#ed8cd0);color:white}
.rush-finale>span{font-size:76px;display:block;animation:rush-pop .6s ease-out}
.rush-finale h1{font-size:clamp(28px,8vw,44px);color:white;text-shadow:0 5px 13px #361058;margin:8px 0}
.rush-finale p{color:#ffe9fb}
.rush-final-score{font-size:clamp(58px,15vw,93px);line-height:1;
 font-weight:1000;color:#ffed9f;margin:28px 0;text-shadow:0 6px 15px #330a55}
.rush-final-score small{font-size:12px;display:block;letter-spacing:.21em;color:#fff}
.rush-earned{font-size:21px;font-weight:900}
.rush-final-actions{margin:18px 0 0}
@keyframes rush-idle-spin{0%,100%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(9deg) scale(1.08)}}
@keyframes rush-active{from{box-shadow:0 5px 12px #8552bd66;transform:scale(1)}to{box-shadow:0 7px 21px #a64fdeaa;transform:scale(1.035)}}
@keyframes rush-hot{from{transform:scale(.96);filter:brightness(.96)}to{transform:scale(1.05);filter:brightness(1.15)}}
@keyframes rush-pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:600px){.rush-mode-grid{grid-template-columns:1fr}.rush-options{grid-template-columns:1fr}.rush-app{padding:11px 6px 30px}
 .rush-stage-card{padding:14px}.rush-welcome-hero{padding:23px 17px}.rush-room-code{letter-spacing:.06em}}
@media(prefers-reduced-motion:reduce){.rush-app *, .rush-welcome-icon{animation:none!important;transition:none!important}}
