.intro{background:linear-gradient(135deg,#fff7ed 0%,#fef3c7 50%,#ecfccb 100%);justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.intro__content{text-align:center;max-width:480px}.intro__emoji{margin-bottom:1rem;font-size:5rem;animation:1.5s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.intro__title{color:#92400e;text-shadow:2px 2px #fbbf24;margin-bottom:1.5rem;font-size:clamp(2.5rem,8vw,4rem);font-weight:900;line-height:1.1}.intro__story{text-align:left;color:#44403c;background:#fff;border-radius:1rem;flex-direction:column;gap:.75rem;margin-bottom:2rem;padding:1.5rem;font-size:1.1rem;line-height:1.5;display:flex;box-shadow:0 4px 12px #00000014}.intro__btn{color:#fff;letter-spacing:.02em;background:#f97316;border-radius:9999px;padding:1rem 2.5rem;font-size:1.4rem;font-weight:800;transition:transform .1s,box-shadow .1s;box-shadow:0 6px #c2410c}.intro__btn:active{transform:translateY(4px);box-shadow:0 2px #c2410c}.hub{background:linear-gradient(#fff7ed 0%,#fef9ee 100%);flex-direction:column;align-items:center;min-height:100dvh;padding:2rem 1.5rem;display:flex}.hub__title{color:#92400e;margin-bottom:.25rem;font-size:2.5rem;font-weight:900}.hub__subtitle{color:#78716c;margin-bottom:2rem;font-size:1.1rem}.hub__players{grid-template-columns:1fr 1fr;gap:1rem;width:100%;max-width:480px;margin-bottom:2.5rem;display:grid}.hub__player{color:#fff;border-radius:1.25rem;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:130px;padding:1.5rem 1rem;font-weight:700;transition:transform .1s,box-shadow .1s;display:flex;box-shadow:0 6px #0003}.hub__player:active{transform:translateY(4px);box-shadow:0 2px #0003}.hub__player--green{background:#22c55e}.hub__player--blue{background:#3b82f6}.hub__player--red{background:#ef4444}.hub__player--yellow{background:#eab308}.hub__player--done{opacity:.75}.hub__player-name{font-size:1.6rem;font-weight:900}.hub__player-theme{opacity:.9;font-size:.8rem;font-weight:500}.hub__player-status{margin-top:.25rem;font-size:.9rem}.hub__resets{text-align:center;width:100%;max-width:480px}.hub__resets-label{color:#78716c;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.hub__resets-row{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.75rem;display:flex}.hub__reset-btn{color:#fff;opacity:.85;border-radius:9999px;padding:.4rem .9rem;font-size:.85rem;font-weight:700}.hub__reset-btn--green{background:#22c55e}.hub__reset-btn--blue{background:#3b82f6}.hub__reset-btn--red{background:#ef4444}.hub__reset-btn--yellow{background:#eab308}.hub__reset-all{color:#57534e;background:#e7e5e4;border-radius:9999px;margin-top:.25rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600}.round{justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1.5rem;display:flex}.round--green{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.round--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.round--red{background:linear-gradient(135deg,#fee2e2,#fecaca)}.round--yellow{background:linear-gradient(135deg,#fef9c3,#fef08a)}.round__content{text-align:center;width:100%;max-width:420px}.round__badge{text-transform:uppercase;letter-spacing:.08em;color:#44403c;background:#fff9;border-radius:9999px;margin-bottom:.75rem;padding:.3rem 1rem;font-size:.85rem;font-weight:700;display:inline-block}.round__name{color:#1c1917;margin-bottom:.5rem;font-size:clamp(3rem,10vw,5rem);font-weight:900;line-height:1}.round--green .round__name{color:#15803d}.round--blue .round__name{color:#1d4ed8}.round--red .round__name{color:#b91c1c}.round--yellow .round__name{color:#a16207}.round__intro{color:#57534e;margin-bottom:1.5rem;font-size:1.2rem;font-style:italic}.round__clue-card{text-align:left;background:#fff;border-radius:1rem;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 12px #00000014}.round__clue-label{text-transform:uppercase;letter-spacing:.08em;color:#a8a29e;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.round__clue-text{color:#1c1917;white-space:pre-line;font-size:1.2rem;font-style:italic;line-height:1.6}.round__btn{color:#fff;border-radius:9999px;width:100%;margin-bottom:.75rem;padding:1rem;font-size:1.3rem;font-weight:800;transition:transform .1s,box-shadow .1s;display:block;box-shadow:0 6px #00000026}.round__btn:active{transform:translateY(4px);box-shadow:0 2px #00000026}.round--green .round__btn{background:#22c55e;box-shadow:0 6px #15803d}.round--blue .round__btn{background:#3b82f6;box-shadow:0 6px #1d4ed8}.round--red .round__btn{background:#ef4444;box-shadow:0 6px #b91c1c}.round--yellow .round__btn{background:#eab308;box-shadow:0 6px #a16207}.round__back{color:#78716c;background:0 0;padding:.5rem;font-size:.95rem}.round__skip{opacity:0;background:0 0;width:60px;height:60px;position:fixed;bottom:0;right:0}.codebreaker{flex-direction:column;align-items:center;gap:1.25rem;padding:1rem 0;display:flex}.codebreaker__instructions{color:#374151;text-align:center;max-width:280px;font-size:1rem;line-height:1.5}.codebreaker__clues{justify-content:center;gap:1.5rem;display:flex}.codebreaker__clue{background:#fff;border-radius:1rem;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.25rem;display:flex;box-shadow:0 2px 8px #00000014}.codebreaker__clue-emoji{font-size:2.5rem}.codebreaker__clue-label{color:#6b7280;text-align:center;font-size:.75rem;font-weight:600}.codebreaker__clue-eq{color:#15803d;font-size:1.1rem;font-weight:700}.codebreaker__hint{color:#57534e;text-align:center;max-width:280px;font-size:.95rem}.codebreaker__display{background:#fff;border:3px solid #d1fae5;border-radius:1rem;gap:.75rem;padding:.75rem 1.5rem;transition:border-color .2s;display:flex;box-shadow:0 2px 8px #0000001a}.codebreaker__display--error{border-color:#fca5a5;animation:.3s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.codebreaker__digit{text-align:center;color:#15803d;font-variant-numeric:tabular-nums;width:2rem;font-size:2.5rem;font-weight:900}.codebreaker__error{color:#ef4444;font-size:.95rem;font-weight:600}.codebreaker__keypad{grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%;max-width:280px;display:grid}.codebreaker__key{color:#1c1917;background:#fff;border:2px solid #d1fae5;border-radius:.75rem;padding:.75rem;font-size:1.5rem;font-weight:700;transition:transform .1s,box-shadow .1s;box-shadow:0 3px #a7f3d0}.codebreaker__key:active{box-shadow:none;transform:translateY(3px)}.codebreaker__key--del{color:#ef4444;background:#fef2f2;border-color:#fecaca;box-shadow:0 3px #fca5a5}.codebreaker__key--go{color:#fff;background:#22c55e;border-color:#16a34a;font-size:1.2rem;box-shadow:0 3px #15803d}.codebreaker__key--go:disabled{opacity:.4;transform:none;box-shadow:0 3px #a7f3d0}.pattern{flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0;display:flex}.pattern__progress{gap:.75rem;display:flex}.pattern__pip{background:#d1d5db;border-radius:50%;width:1rem;height:1rem;transition:background .3s}.pattern__pip--done{background:#3b82f6}.pattern__status{color:#374151;text-align:center;min-height:1.75rem;font-size:1.1rem;font-weight:600}.pattern__grid{grid-template-columns:1fr 1fr;gap:1rem;width:100%;max-width:300px;display:grid}.pattern__btn{opacity:.5;border-radius:1.25rem;height:120px;transition:opacity .15s,transform .1s,box-shadow .1s;box-shadow:0 6px #0003}.pattern__btn:not(:disabled){opacity:.85}.pattern__btn--active,.pattern__btn:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px #0003;opacity:1!important}.pattern__btn--red{background:#ef4444}.pattern__btn--blue{background:#3b82f6}.pattern__btn--green{background:#22c55e}.pattern__btn--yellow{background:#eab308}.memory{flex-direction:column;align-items:center;gap:1.25rem;padding:1rem 0;display:flex}.memory__score{color:#374151;font-size:1.1rem;font-weight:700}.memory__grid{grid-template-columns:repeat(4,1fr);gap:.6rem;width:100%;max-width:400px;display:grid}.memory__card{aspect-ratio:1;perspective:600px;background:#ef4444;border:3px solid #dc2626;border-radius:.75rem;transition:transform .1s;position:relative;overflow:hidden;box-shadow:0 4px #b91c1c}.memory__card:active{transform:scale(.95)}.memory__card-front,.memory__card-back{backface-visibility:hidden;justify-content:center;align-items:center;font-size:clamp(1.4rem,5vw,2rem);transition:opacity .25s;display:flex;position:absolute;inset:0}.memory__card-front{color:#ffffffb3;font-size:1.5rem;font-weight:900}.memory__card-back{opacity:0;background:#fff}.memory__card--flipped .memory__card-front,.memory__card--matched .memory__card-front{opacity:0}.memory__card--flipped .memory__card-back,.memory__card--matched .memory__card-back{opacity:1}.memory__card--matched{background:#dcfce7;border-color:#22c55e;box-shadow:0 4px #16a34a}.balloon{flex-direction:column;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.balloon__hud{align-items:center;gap:1rem;min-height:2rem;display:flex}.balloon__score{color:#374151;font-size:1.3rem;font-weight:800}.balloon__fail{color:#ef4444;font-size:1.1rem;font-weight:700;animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.balloon__hint{color:#6b7280;font-size:.95rem;font-weight:500}.balloon__field{background:linear-gradient(#e0f2fe 0%,#bfdbfe 100%);border-radius:1rem;width:100%;max-width:400px;height:420px;position:relative;overflow:hidden}.balloon__item{cursor:pointer;filter:drop-shadow(0 2px 4px #00000026);background:0 0;border:none;font-size:2.5rem;transition:transform .1s;animation:linear forwards rise;position:absolute;bottom:-60px;transform:translate(-50%)}.balloon__item:active{transform:translate(-50%)scale(1.3)}@keyframes rise{0%{opacity:1;bottom:-60px}85%{opacity:1}to{opacity:0;bottom:110%}}.challenge{flex-direction:column;align-items:center;min-height:100dvh;padding:1.5rem 1rem 2rem;display:flex}.challenge--green{background:linear-gradient(#dcfce7,#f0fdf4)}.challenge--blue{background:linear-gradient(#dbeafe,#eff6ff)}.challenge--red{background:linear-gradient(#fee2e2,#fff1f2)}.challenge--yellow{background:linear-gradient(#fef9c3,#fefce8)}.challenge__header{text-align:center;margin-bottom:1.5rem}.challenge__name{font-size:2.5rem;font-weight:900}.challenge--green .challenge__name{color:#15803d}.challenge--blue .challenge__name{color:#1d4ed8}.challenge--red .challenge__name{color:#b91c1c}.challenge--yellow .challenge__name{color:#a16207}.challenge__intro{color:#57534e;font-size:1.1rem;font-style:italic}.challenge__game{flex:1;width:100%;max-width:480px}.challenge__success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100dvh;padding:2rem;display:flex}.challenge__success-emoji{font-size:5rem;animation:.6s ease-out spin}@keyframes spin{0%{transform:scale(0)rotate(-180deg)}to{transform:scale(1)rotate(0)}}.challenge__success-title{color:#92400e;font-size:clamp(2.5rem,10vw,4rem);font-weight:900}.challenge__success-praise{color:#57534e;font-size:1.5rem;font-weight:700}.challenge__success-btn{color:#fff;background:#f97316;border-radius:9999px;margin-top:1rem;padding:1rem 2rem;font-size:1.3rem;font-weight:800;transition:transform .1s,box-shadow .1s;box-shadow:0 6px #c2410c}.challenge__success-btn:active{transform:translateY(4px);box-shadow:0 2px #c2410c}.final{justify-content:center;align-items:center;min-height:100dvh;padding:2rem 1.5rem;display:flex}.final--green{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.final--blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.final--red{background:linear-gradient(135deg,#fee2e2,#fecaca)}.final--yellow{background:linear-gradient(135deg,#fef9c3,#fef08a)}.final__content{text-align:center;width:100%;max-width:420px}.final__emoji{margin-bottom:.5rem;font-size:4rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) pop}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.final__title{color:#1c1917;margin-bottom:.25rem;font-size:2.5rem;font-weight:900}.final__name{color:#78716c;margin-bottom:1.5rem;font-size:1rem;font-weight:600}.final__clue-card{background:#fff;border-radius:1rem;margin-bottom:1.5rem;padding:1.75rem;box-shadow:0 4px 12px #00000014}.final__clue-text{color:#1c1917;font-size:1.2rem;font-style:italic;line-height:1.6}.final__hint{color:#92400e;margin-bottom:1.5rem;font-size:1.2rem;font-weight:700;animation:1s infinite bounce}.final__btn{color:#78716c;background:0 0;border:2px solid #d6d3d1;border-radius:9999px;padding:.5rem 1rem;font-size:1rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-green:#22c55e;--color-blue:#3b82f6;--color-red:#ef4444;--color-yellow:#eab308;--color-bg:#fdf6ec;--color-text:#1e1b18}body{background-color:var(--color-bg);color:var(--color-text);min-height:100dvh;font-family:Segoe UI,system-ui,sans-serif}#root{flex-direction:column;min-height:100dvh;display:flex}button{cursor:pointer;border:none;font-family:inherit}
