/* A lively fair experience; the product photographs remain the card faces. */
:root{--ink:#243b52;--green:#07856c;--forest:#17475a;--paper:#fff9ea;--muted:#687882;--line:#e5dfca;--lime:#ffe16a;--gold:#f2a336;--serif:"Trebuchet MS","Aptos","Segoe UI",sans-serif;--shadow:0 18px 50px #21415822}
body{background-color:var(--paper);background-image:radial-gradient(circle at 92% 8%,#ffe4787a,transparent 32%),radial-gradient(circle at 0% 70%,#c6f1e155,transparent 25%),radial-gradient(#dab95d25 1.5px,transparent 1.5px);background-size:auto,auto,23px 23px}
.site-header{height:96px}.brand strong{font-weight:850;color:#243b52}.brand strong span{color:#088c75;font-weight:800}.brand small{letter-spacing:1.5px;font-weight:750}.event-label{padding:11px 16px;border:2px solid #f1d882;border-radius:25px;background:#ffec9a;color:#79621f;font-weight:800;letter-spacing:1px;transform:rotate(-2deg)}.event-label>span{background:#f3825c;box-shadow:0 0 0 4px #f3825c25}.icon-button{background:white;border:2px solid #e9e1ca;box-shadow:0 3px 0 #e8dfc7}.icon-button:hover{background:#fff0ba}.hero-copy>.eyebrow{background:#daf0df;color:#127a65;border-radius:20px;padding:9px 13px;display:inline-flex;letter-spacing:1.2px}.eyebrow svg{color:#098d73}h1{font-weight:900;font-size:clamp(50px,5.5vw,76px);letter-spacing:-3px;line-height:1.04;color:#263c51}h1 em{font-style:normal;color:#0b957a;background:linear-gradient(transparent 67%,#ffe27c 67%);padding:0 10px 0 0}.title-spark{color:#ff8459;font-size:48px;bottom:6px;animation:spark-turn 7s ease-in-out infinite}.intro{font-size:16px;line-height:1.65;color:#647780}.hero-copy .primary-button{font-size:16px;font-weight:800;min-width:255px}.primary-button{background:#ff785b;color:#352e43;box-shadow:0 5px 0 #d45643;border:2px solid #d45643;border-radius:15px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s}.primary-button:hover:not(:disabled){background:#ff946f;transform:translateY(-2px);box-shadow:0 7px 0 #d45643}.primary-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #d45643}.primary-button svg{stroke-width:2.4}.secondary-actions{margin-top:24px}.text-button{font-weight:650;color:#66788a}.challenge-facts{gap:10px}.challenge-facts>div{border:0;background:#ffffffb3;border:2px solid #eee5c9;border-radius:16px;padding:13px 17px!important;gap:6px;box-shadow:0 4px 0 #ede5c855}.challenge-facts strong{font-weight:850;color:#7553ae;font-size:34px}.challenge-facts>div:nth-child(2) strong{color:#09886d}.challenge-facts>div:nth-child(3) strong svg{color:#e2a321;stroke-width:1.9}.challenge-facts>div>span{font-size:10px;color:#688078;font-weight:650}.hero-art{isolation:isolate}.hero-art:before{content:"";position:absolute;width:455px;height:425px;background:#ffdf765c;border:3px dashed #e9c45c;border-radius:46% 54% 40% 60%/56% 45% 55% 44%;left:33px;top:35px;transform:rotate(-12deg);z-index:-1}.art-ring{border:2px solid #86d4b94d}.ring-one{animation:ring-wiggle 18s linear infinite}.product-tile{border:3px solid white;border-radius:22px;box-shadow:6px 9px 0 #203b5120,0 17px 30px #203b5112}.tile-coffee{background:#cff0e0}.tile-mujari{background:#dce5ff}.tile-fruit{background:#f5e591}.tile-bombones{background:#ffd4cf}.tile-tag{font-size:8px;letter-spacing:.9px;font-weight:850;color:#506369}.tile-label{font-style:normal;font-weight:850;font-size:17px}.art-caption{background:#8c68c9;color:#fff;padding:13px 18px;border-radius:16px;right:0;top:-7px;font-weight:750;letter-spacing:1px;box-shadow:0 5px 0 #6c4caa;z-index:5}.art-caption span{font-family:var(--sans);font-weight:650;font-size:13px;letter-spacing:0}.art-stamp{background:#fd8764;color:#4e3652;border:5px solid var(--paper);width:111px;height:111px;box-shadow:0 5px 0 #cb6952}.art-stamp span{font-weight:850;font-size:10px}.art-stamp svg{stroke-width:2}.art-star{color:#9270ca;animation:star-bop 4s ease-in-out infinite}.star-two{color:#f67e57;animation-delay:-2s}.how-strip{border:0;padding:22px;background:#fffef7;border:2px solid #e6debf;border-radius:23px;box-shadow:0 5px 0 #ede5cc;margin-top:32px}.how-strip>div>span{font-family:var(--sans);font-style:normal;font-size:20px;font-weight:850;background:#ffe89f;color:#7a612f;border-radius:14px;padding:11px;min-width:46px;text-align:center;transform:rotate(-5deg)}.how-strip>div:nth-child(2)>span{background:#d6efdf;color:#1f856a;transform:rotate(4deg)}.how-strip>div:nth-child(3)>span{background:#e7dbff;color:#7953af}.how-strip strong{font-weight:800}.how-strip small{font-size:11px}.site-footer{margin-top:7px}.partners{background:#ffffffa6;padding:9px 17px;border-radius:15px;border:1px solid #ece5d4}.site-footer p strong{color:#11856e}.footer-tag{font-weight:700}
h2{font-weight:850;letter-spacing:-1.2px;font-size:34px;line-height:1.1}.game-heading h2{font-size:34px}.game-heading .eyebrow{color:#088570;font-weight:800;letter-spacing:1px}.game-active .site-header{height:82px}.game-layout{grid-template-columns:245px 1fr;gap:35px}.game-screen .board-wrap{max-width:670px;width:100%}.board-status{height:auto;min-height:28px;color:#506880;font-weight:700;line-height:1.4;font-size:12px;text-align:center}.play-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-height:24px}.pair-progress{display:flex;gap:5px;flex:1;max-width:210px}.pair-dot{height:9px;flex:1;border-radius:6px;background:#e5e3d3;border:1px solid #d8dccb;transition:background .25s,transform .25s}.pair-dot.complete{background:#14b18b;border-color:#118d72;transform:scaleY(1.12)}.streak-badge{display:inline-flex;background:#f5e6ad;border-radius:20px;padding:5px 10px;font-size:9px;font-weight:850;white-space:nowrap;color:#8a7126}.streak-badge.on-fire{background:#ffd0aa;color:#a6532e;animation:badge-pop .3s ease}.board{gap:10px}.memory-card{aspect-ratio:var(--card-ratio,1.05);border-radius:14px}.card-face{border-radius:14px}.card-back{background-color:#099b7b;border:2px solid #067b65;box-shadow:0 4px 0 #067360;background-image:repeating-radial-gradient(ellipse at 105% 130%,transparent 0 15px,#fff2 16px 18px,transparent 19px 32px)}.memory-card:nth-child(4n+2) .card-back{background-color:#8a67ca;border-color:#6e4baa;box-shadow:0 4px 0 #654899}.memory-card:nth-child(4n+3) .card-back{background-color:#29a4c7;border-color:#2089ad;box-shadow:0 4px 0 #197693}.memory-card:nth-child(4n) .card-back{background-color:#f27f62;border-color:#d86349;box-shadow:0 4px 0 #c15b46}.card-back:before{border:2px dashed #ffffff50;inset:8px;border-radius:7px}.back-brand{font-family:var(--sans);font-weight:950;font-size:30px;letter-spacing:0;color:white}.back-brand em{font-family:var(--sans);color:#ffffffc9;font-size:13px;letter-spacing:1px;font-weight:750;font-style:normal}.back-leaf{color:#ffea84;stroke-width:2.1}.card-number{color:#ffffffa0;font-size:8px;font-weight:700}.memory-card:not(.flipped):hover .card-back{filter:brightness(1.08);background-color:#099b7b}.memory-card:nth-child(4n+2):not(.flipped):hover .card-back{background-color:#8a67ca}.memory-card:nth-child(4n+3):not(.flipped):hover .card-back{background-color:#29a4c7}.memory-card:nth-child(4n):not(.flipped):hover .card-back{background-color:#f27f62}.card-front{background:#fffdf8;border:2px solid #dedeca;padding:9px 8px;box-shadow:0 4px 0 #dcdcc6}.card-front>span{font-weight:750;font-size:9px}.memory-card.matched .card-front{background:#e1f7dc;border:2px solid #65b67a;box-shadow:0 4px 0 #55a967}.memory-card.matched{animation:happy-match .45s ease}.match-mark{background:#20aa72;width:22px;height:22px}.memory-card.mismatch .card-front{background:#fff4ef;border-color:#f7b39d}.timer-card{background:#e2f3dc;border:2px solid #a6cba7;box-shadow:0 4px 0 #a6cba7;border-radius:17px;padding:21px}.timer-card>strong{font-weight:900;letter-spacing:-2px;color:#148264}.timer-card .stat-label{color:#539471;font-weight:750}.timer-track{height:7px;background:#bcdbb6}.timer-track span{background:#11a784}.timer-card.urgent{border:2px solid #f5a474;background:#ffe8d1;box-shadow:0 4px 0 #f5a474;animation:timer-warning 1s ease-in-out infinite}.timer-card.urgent>strong{color:#dc623b}.small-stats{background:#fffef7;border:2px solid #ede1c5;border-radius:15px;padding:11px 14px;gap:14px}.small-stats>div{border:0;padding:4px 0}.small-stats strong{font-weight:850;color:#7656b4}.small-stats>div:last-child strong{color:#da7758}.small-stats .stat-label{font-weight:750;color:#789093;font-size:8px;letter-spacing:.7px}.small-stats small{color:#a99db8;font-weight:650}.prize-tease{background:#815bc0;color:#ffe278;border-radius:16px;border:2px solid #6f4baa;box-shadow:0 4px 0 #69449f}.prize-tease strong{font-family:var(--sans);font-size:16px;font-weight:800;color:white}.prize-tease span{color:#e0d3ef}.round-tip svg{color:#19a987}.board-footer{color:#9a9b89;font-size:8px}.quiet-button{background:#fffef9;border:2px solid #e6dcc4;border-radius:10px;font-weight:700}.game-active .site-footer{border:0}.modal{background:#fffaf0;border:3px solid #fffdf5;border-radius:24px}.modal::backdrop{background:#1c3a59a6;backdrop-filter:blur(4px)}.modal h2{font-family:var(--sans);font-weight:900}.modal .eyebrow{font-weight:800;color:#268e74;letter-spacing:1px}.modal .primary-button{font-weight:850}.modal-close{background:#fff6d9}.rules-list li>span{font-family:var(--sans);font-weight:850;font-style:normal;background:#ffe7a8}.notice{background:#f3eace;border:1px solid #e9dab5;color:#7b7862}.result-modal:not(.loss){background:radial-gradient(circle at top,#fff0b4,transparent 40%),#fffaf0}.result-modal:not(.loss) h2{color:#0b9879}.result-badge{background:#ffd357;color:#986b20;box-shadow:0 0 0 9px #fff0b4;border:3px solid #fff9e6;animation:winner-badge .6s ease}.result-modal h2{font-family:var(--sans);font-weight:950;font-size:40px;line-height:1.06}.result-numbers strong{font-weight:850;color:#805fc0}.award-ticket{border:2px dashed #e4b84b;background:#fff2bf;border-radius:15px}.award-ticket>span{color:#9e7b1d;font-weight:850}.award-ticket strong{font-family:var(--sans);font-size:18px;font-weight:850;color:#70582d}.award-ticket.delivered{background:#e4f5d7;border-color:#86b76b}.result-buttons{gap:16px}.result-buttons #replayCelebration{background:#eee2ff;border-color:#bfa3e3;color:#7955ae}.host-summary>div{background:#fff1c9;border-radius:12px;padding:11px}.host-summary strong{font-weight:850;color:#7853b6}.presets>button{border-width:2px;font-weight:750}.presets>button.selected{background:#def3dc;border-color:#6dc28a}.presets>button small{font-weight:550}.catalog-card{border:2px solid #eadfc5;border-radius:16px}.catalog-card strong{color:#3c7667}
.celebration-overlay{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:hidden;pointer-events:none;z-index:2147483647}.celebration-overlay::backdrop{display:none}.celebration-overlay.fallback-visible{display:block}#confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.confetti-cannon{position:absolute;bottom:max(0px,env(safe-area-inset-bottom));width:clamp(83px,12vw,150px);height:auto;z-index:1;transform-origin:center bottom;animation:cannon-fire 2.2s ease-out}.confetti-cannon>svg{width:100%;height:auto;aspect-ratio:140/170;fill:none;stroke:none;overflow:visible}.cannon-left{left:5px}.cannon-right{right:5px;scale:-1 1}.cannon-flash{position:absolute;width:30px;height:30px;background:#fff1a0;left:70%;top:16%;border-radius:50%;filter:blur(3px);transform:scale(0);box-shadow:0 0 25px 15px #ffdb7d66;animation:cannon-flash 2.2s ease-out}.celebration-overlay:popover-open{pointer-events:none}
@keyframes spark-turn{0%,100%{transform:rotate(0deg)}50%{transform:rotate(65deg)}}@keyframes ring-wiggle{50%{transform:rotate(20deg) scale(1.04)}}@keyframes star-bop{0%,100%{transform:rotate(-12deg) scale(1)}50%{transform:rotate(12deg) scale(1.12)}}@keyframes happy-match{0%,100%{transform:scale(1)}40%{transform:scale(1.07) rotate(-2deg)}70%{transform:scale(1.03) rotate(2deg)}}@keyframes timer-warning{50%{box-shadow:0 4px 0 #f5a474,0 0 0 4px #ffc98b55}}@keyframes badge-pop{50%{transform:scale(1.1) rotate(-3deg)}}@keyframes winner-badge{0%{transform:scale(.6) rotate(-12deg)}65%{transform:scale(1.1) rotate(6deg)}100%{transform:scale(1)}}@keyframes cannon-fire{0%,28%,60%,100%{transform:translateY(0) rotate(0)}4%,36%,70%{transform:translateY(9px) rotate(-4deg)}12%,44%,78%{transform:translateY(-2px) rotate(1deg)}}@keyframes cannon-flash{0%,9%,30%,41%,64%,75%,100%{transform:scale(0);opacity:0}3%,34%,68%{transform:scale(1.6);opacity:1}}
@media(max-width:1100px){h1{font-size:61px}.challenge-facts>div{padding:12px 14px!important}.game-layout{gap:24px;grid-template-columns:210px 1fr}}
@media(max-width:820px){h1{font-size:52px}.game-layout{grid-template-columns:1fr;gap:14px}.game-sidebar{gap:15px}.small-stats{padding:9px 13px;margin:0;border-width:1px}.small-stats strong{font-size:26px}.timer-card{padding:12px 16px}.timer-card>strong{font-size:35px}.small-stats>div{padding:0}.game-screen .board-wrap{max-width:630px}.play-progress{margin-bottom:9px}.game-heading h2{font-size:29px}.hero-art:before{width:400px;left:10px}.challenge-facts>div{padding:12px 11px!important}.how-strip{padding:21px 17px}.how-strip>div>span{min-width:40px;padding:10px 8px}}
@media(max-width:640px){.site-header{height:79px;padding:0 18px}.game-active .site-header{height:70px}.hero-copy h1{font-size:58px;letter-spacing:-2.8px;line-height:1.02}.hero-copy>.eyebrow{font-size:8px;margin-bottom:17px}.hero-copy .intro{font-size:14px;line-height:1.65}.challenge-facts{gap:9px;justify-content:space-between;margin:23px 0 25px}.challenge-facts>div{flex:1;padding:12px 10px!important;min-width:0;border-radius:14px}.challenge-facts>div>span{font-size:9px;line-height:1.4}.challenge-facts strong{font-size:29px}.challenge-facts strong svg{width:29px;height:29px}.hero-copy>.primary-button{font-size:16px;min-width:0}.hero-art{margin-top:23px;margin-bottom:-132px}.art-caption{right:0}.art-stamp{width:110px;height:110px}.how-strip{margin-top:32px;padding:23px 20px;gap:22px}.how-strip>div{gap:16px}.how-strip strong{font-size:13px}.how-strip small{font-size:11px}.how-strip>div>span{min-width:41px;max-width:41px;padding:10px 7px}.site-footer{padding:22px 12px}.partners{padding:8px 10px;gap:8px}.partners .partner-andes{width:146px}.partners .partner-mas{width:63px}.partners .partner-ecopetrol{width:79px}.game-heading h2{font-size:25px}.game-heading .eyebrow{font-size:8px}.game-sidebar{gap:10px}.timer-card{padding:11px;box-shadow:0 3px 0 #a6cba7;border-radius:14px;flex:1}.timer-card>strong{font-size:28px;letter-spacing:-1px}.small-stats{padding:9px 10px;gap:10px;flex:1.2;border-radius:13px}.small-stats .stat-label{font-size:7px;letter-spacing:.4px}.small-stats strong{font-size:24px}.small-stats small{font-size:11px;margin-left:3px}.board-status{font-size:10px;min-height:25px}.play-progress{min-height:23px;gap:10px}.pair-progress{gap:4px;max-width:170px}.pair-dot{height:8px}.streak-badge{font-size:8px;padding:5px 8px}.memory-card{aspect-ratio:var(--card-ratio,.86)}.card-back:before{border-width:1px;inset:6px}.back-brand{font-size:24px}.back-brand em{font-size:11px}.back-leaf{height:16px;width:16px}.card-front{padding:7px 5px}.card-front>span{font-size:7px}.card-front img{max-height:calc(100% - 19px)}.board.ten .memory-card{aspect-ratio:var(--card-ratio,1)}.board.ten .card-front>span{font-size:7px}.card-face{border-radius:11px}.match-mark{width:18px;height:18px}.match-mark svg{width:12px;height:12px}.board-footer{font-size:6px}.game-active .site-footer{margin-top:9px;padding:11px 15px}.game-active .partners{padding:6px 10px}.game-active .partners img{height:24px}.game-active .partners .partner-mas{height:27px}.modal{padding:33px 22px;border-radius:22px}.result-modal h2{font-size:35px}.modal .eyebrow{font-size:8px}.award-ticket strong{font-size:17px}.host-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.host-summary>div{padding:11px}.host-summary strong{font-size:25px}.host-summary span{font-size:9px}.confetti-cannon{width:88px;bottom:4px}.cannon-left{left:-4px}.cannon-right{right:-4px}}
@media(max-width:360px){.hero-copy h1{font-size:52px}.challenge-facts>div{padding:11px 8px!important}.challenge-facts>div>span{font-size:8px}.partners{gap:6px}.partners .partner-andes{width:129px}.partners .partner-ecopetrol{width:69px}.partners .partner-mas{width:55px}.game-heading h2{font-size:22px}.small-stats{padding:9px 8px}.game-sidebar{gap:8px}}
@media(max-height:560px) and (min-width:560px){.game-active .site-header{height:54px;padding-top:4px;padding-bottom:4px}.game-active .brand img{height:34px;width:34px}.game-active .brand strong{font-size:18px}.game-active .brand small{font-size:6px;margin-top:2px}.game-active .event-label{display:none}.game-screen{padding:0 0 5px}.game-heading{margin-bottom:7px}.game-heading h2{font-size:23px}.game-heading .eyebrow{font-size:7px;margin-bottom:4px}.game-layout{grid-template-columns:1fr;gap:7px}.game-sidebar{padding:0;display:flex;gap:13px;align-items:center}.game-sidebar .round-tip,.game-sidebar .prize-tease{display:none}.timer-card{display:grid;grid-template-columns:auto auto;flex:1;align-items:center;gap:4px 15px;padding:6px 12px;box-shadow:0 2px 0 #a6cba7}.timer-card .stat-label{font-size:8px}.timer-card>strong{margin:0;font-size:27px;letter-spacing:-1px;text-align:right}.timer-track{grid-column:1/-1;height:4px}.small-stats{display:flex;flex:1.3;padding:7px 14px;margin:0!important;gap:25px}.small-stats>div{display:flex;align-items:center;gap:11px;padding:0!important}.small-stats strong{margin:0;font-size:25px}.small-stats .stat-label{font-size:8px}.small-stats small{font-size:13px}.game-screen .board-wrap{max-width:950px}.board-status{font-size:10px;min-height:17px}.play-progress{margin-bottom:6px;min-height:19px}.pair-dot{height:7px}.streak-badge{font-size:7px;padding:3px 8px}.board-footer{margin-top:8px;font-size:6px}.game-active .site-footer{display:none}.back-brand{font-size:23px}.back-brand em{font-size:10px}.back-leaf{display:none}.card-front{padding:5px}.card-front>span{font-size:7px}.card-front img{max-height:calc(100% - 13px)}.card-face{border-radius:10px}.card-back:before{inset:5px}.card-number{font-size:6px;bottom:6px;right:9px}.memory-card{aspect-ratio:var(--card-ratio,1.5)}}
@media(prefers-reduced-motion:reduce){.timer-card.urgent{animation:none}.confetti-cannon{animation:none}.cannon-flash{display:none}}
/* Personal and event play share one shell, with visibly separate rules. */
.mode-switch{display:flex;gap:6px;margin-top:22px;padding:5px;background:#ede7fa;border:1px solid #dfd2f4;border-radius:15px;max-width:380px}.mode-switch button{flex:1;border:0;background:transparent;border-radius:11px;padding:10px 8px;min-height:44px;font:700 12px var(--sans);color:#655383;cursor:pointer}.mode-switch button[aria-pressed=true]{color:#fff;background:#8656d5;box-shadow:0 3px 0 #613e9e}.mode-switch button:focus-visible{outline:3px solid #ffc948;outline-offset:3px}.mode-description{font-size:11px;line-height:1.6;color:#655383;max-width:380px;margin:11px 0 5px}.sync-status{font-size:10px;color:#35715b;margin:4px 0 0;line-height:1.6}.sync-status.offline{color:#b26723}.load-note{margin-top:8px}.award-lookup{margin-top:24px;border-top:1px dashed #d6c8ec;padding-top:22px}.award-lookup h3{font-size:17px;margin:0 0 8px}.award-lookup p{font-size:12px;line-height:1.6;color:#655383}.award-lookup label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.lookup-input{display:flex;gap:8px}.lookup-input input{min-width:0;flex:1;border:1px solid #d6c8ec;border-radius:10px;padding:12px;font:700 13px monospace;text-transform:uppercase;background:#fff}.install-logo{width:82px;height:82px;border-radius:23px;margin:0 0 8px}.modal a.primary-button{text-decoration:none;display:flex;justify-content:center;margin:20px 0}.header-actions{gap:6px}#reloadSettings{margin-bottom:12px}#retrySync{justify-content:center}
@media(max-width:600px){.header-actions{gap:3px}.header-actions .icon-button{width:34px;height:36px}.brand>span{display:none}.mode-switch{max-width:100%;margin-top:17px}.mode-description{font-size:11px}.lookup-input{flex-direction:column}.lookup-input .quiet-button{justify-content:center}}

.download-file{justify-content:center;text-decoration:none;margin-top:16px;min-height:44px;border:1px solid #d6c8ec!important;border-radius:12px;}
