:root{--font-display:"Fredoka", system-ui, sans-serif;--font-body:"Fredoka", system-ui, sans-serif;--rosa:#e4007c;--rosa-ink:#cc006f;--turquesa:#00a19a;--maiz:#f7b500;--chile:#d7263d;--nopal:#2e9e44;--crema:#fff4e0;--cafe:#4a2c1a;--noche:#1d3b3a;--bg:var(--noche);--text:var(--crema);--panel:#1d3b3aeb;--radius:18px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}.boot{text-align:center;background:var(--bg);place-content:center;font-family:system-ui,sans-serif;display:grid;position:fixed;inset:0}.boot__title{color:var(--maiz);font-size:clamp(40px,9vw,88px);font-weight:800}.boot__sub{opacity:.8;margin-top:8px;font-size:18px}button{font:inherit;cursor:pointer}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/app/fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(/app/fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/app/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(/app/fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}.landing{--paper:#fff4e0;--paper-2:#fbe7c6;--ink:#3b2414;--ink-soft:#6b4a34;-webkit-user-select:text;user-select:text}.landing__hero{padding:calc(var(--bunting-h,34px) + 20px) max(20px, env(safe-area-inset-right)) 40px max(20px, env(safe-area-inset-left));position:relative}.landing__hero-inner{align-items:center;gap:28px;width:min(1100px,100%);margin:0 auto;display:grid}.landing__intro{text-align:center}.landing__logo{border-radius:22%;width:clamp(64px,14vw,84px);height:auto;box-shadow:0 6px #00000040}.landing__title{font-family:var(--font-display);color:var(--maiz);text-shadow:0 5px 0 var(--cafe), 0 12px 28px #00000059;margin:10px 0 0;font-size:clamp(56px,15vw,108px);font-weight:700;line-height:.95}.landing__tagline{max-width:28ch;margin:14px auto 0;font-size:clamp(19px,4.6vw,24px);font-weight:600}.landing__lead{opacity:.88;max-width:44ch;margin:12px auto 0;font-size:clamp(16px,3.8vw,19px);line-height:1.45}.landing__play{background:#0a201f8c;border:2px solid #fff4e024;border-radius:24px;width:min(460px,100%);margin:0 auto;padding:22px clamp(16px,4vw,26px) 18px;box-shadow:0 18px 40px #00000047}@media (width>=900px){.landing__hero{padding-bottom:56px}.landing__hero-inner{grid-template-columns:1.1fr .9fr;gap:48px}.landing__intro{text-align:left}.landing__tagline,.landing__lead{margin-left:0}}.landing__main{background:var(--paper);color:var(--ink);padding:0 max(20px, env(safe-area-inset-right)) 24px max(20px, env(safe-area-inset-left));border-radius:28px 28px 0 0}.landing__shot{width:min(1040px,100%);margin:0 auto;transform:translateY(-18px)}.landing__shot img{border:4px solid var(--cafe);background:#6a2f3c;border-radius:20px;width:100%;height:auto;display:block;box-shadow:0 16px #4a2c1a2e}.landing__shot figcaption{text-align:center;color:var(--ink-soft);margin-top:18px;font-size:clamp(16px,3.6vw,19px);font-weight:600}.landing__section{width:min(1040px,100%);margin:0 auto;padding:clamp(28px,6vw,52px) 0 8px}.landing__section h2{font-family:var(--font-display);color:var(--rosa-ink);text-align:center;margin:0 0 22px;font-size:clamp(28px,6vw,40px);font-weight:700}.landing__section h3{color:var(--ink);margin:10px 0 6px;font-size:20px;font-weight:700}.landing__section p{color:var(--ink-soft);margin:0;font-size:17px;line-height:1.5}.landing__steps{gap:16px;margin:0;padding:0;list-style:none;display:grid}.landing__step{border:2px solid var(--paper-2);background:#fff;border-radius:20px;padding:20px 20px 22px}.landing__step-n{background:var(--turquesa);color:#fff;width:42px;height:42px;box-shadow:0 4px 0 var(--turquesa-edge,#006b66);border-radius:50%;place-items:center;font-size:22px;font-weight:700;display:inline-grid}.landing__features{gap:14px;margin:0;padding:0;list-style:none;display:grid}.landing__feature{background:var(--paper-2);border-radius:20px;padding:18px 20px 20px}.landing__icon{fill:none;width:44px;height:44px;stroke:var(--rosa);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}@media (width>=640px){.landing__steps{grid-template-columns:repeat(3,1fr)}.landing__features{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.landing__features{grid-template-columns:repeat(3,1fr)}}.landing__install{text-align:center}.landing__install>p{max-width:46ch;margin:0 auto}.landing__install-btn{margin-top:18px}.landing__tips{max-width:52ch;color:var(--ink-soft);gap:8px;margin:18px auto 0;padding:0;font-size:16px;list-style:none;display:grid}.landing__faq{gap:10px;max-width:760px;margin:0 auto;display:grid}.landing__qa{border:2px solid var(--paper-2);background:#fff;border-radius:16px}.landing__qa summary{cursor:pointer;color:var(--ink);padding:16px 48px 16px 20px;font-size:18px;font-weight:700;list-style:none;position:relative}.landing__qa summary::-webkit-details-marker{display:none}.landing__qa summary:after{content:"+";color:var(--rosa-ink);font-size:26px;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.landing__qa[open] summary:after{content:"–"}.landing__qa summary:focus-visible{outline:3px solid var(--turquesa);outline-offset:2px;border-radius:14px}.landing__qa p{padding:0 20px 18px}.landing__footer{padding:28px 20px max(32px, env(safe-area-inset-bottom));background:var(--paper);color:var(--ink-soft);text-align:center;font-size:17px}.landing__footer p{border-top:2px dashed var(--paper-2);margin:0;padding-top:22px}.landing__footer a{color:var(--rosa-ink);text-underline-offset:3px;font-weight:700;text-decoration:underline}.landing__footer a:focus-visible{outline:3px solid var(--turquesa);outline-offset:2px;border-radius:6px}.landing__heart{vertical-align:-3px;width:18px;height:18px;fill:var(--chile);margin-left:6px}:root{--tap:56px;--gutter:clamp(14px, 4vw, 28px);--card-radius:24px;--card-pad:clamp(14px, 3.6vw, 24px);--swatch:52px;--code-box:clamp(52px, 15vw, 72px);--bunting-h:clamp(26px, 6.5vw, 54px);--card-bg:#fff4e012;--card-line:#fff4e029;--muted:#fff4e0b8;--rosa-edge:#9e0056;--turquesa-edge:#006b66;--maiz-edge:#a87a00;--paper-edge:#d9c7a5}.screen{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:radial-gradient(120% 70% at 50% 0%, #00a19a52, transparent 70%), radial-gradient(90% 60% at 50% 115%, #e4007c33, transparent 70%), var(--noche);color:var(--crema);font-family:var(--font-body);font-weight:500;line-height:1.3;position:fixed;inset:0;overflow:hidden auto}:where(.screen) :where(h1,h2,h3,p,ul){margin:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-root{display:contents}.bunting{border-top:3px solid var(--cafe);pointer-events:none;justify-content:space-between;padding:0 8px;display:flex;position:absolute;top:0;left:0;right:0}.bunting__flag{width:clamp(18px,5vw,42px);height:var(--bunting-h);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;animation:2.6s ease-in-out infinite alternate bunting-swing}.bunting__flag:nth-child(2n){animation-delay:-1.3s}.bunting__flag--rosa{background:var(--rosa)}.bunting__flag--turquesa{background:var(--turquesa)}.bunting__flag--maiz{background:var(--maiz)}.bunting__flag--nopal{background:var(--nopal)}.bunting__flag--chile{background:var(--chile)}@keyframes bunting-swing{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}.btn{--btn-bg:var(--turquesa);--btn-edge:var(--turquesa-edge);--btn-ink:var(--crema);--btn-depth:6px;min-height:var(--tap);background:var(--btn-bg);color:var(--btn-ink);font-family:var(--font-display);text-align:center;box-shadow:0 var(--btn-depth) 0 var(--btn-edge);margin-bottom:var(--btn-depth);touch-action:manipulation;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:10px 26px;font-size:22px;font-weight:700;line-height:1.1;transition:transform 80ms ease-out,box-shadow 80ms ease-out,filter .15s;display:inline-flex}.btn:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(1.07)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(calc(var(--btn-depth) - 2px));box-shadow:0 2px 0 var(--btn-edge)}.btn:focus-visible{outline:4px solid var(--maiz);outline-offset:4px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:default}.btn--primary{--btn-bg:var(--rosa);--btn-edge:var(--rosa-edge)}.btn--secondary{--btn-bg:var(--turquesa);--btn-edge:var(--turquesa-edge)}.btn--maiz{--btn-bg:var(--maiz);--btn-edge:var(--maiz-edge);--btn-ink:var(--cafe)}.btn--ghost{--btn-depth:0px;color:var(--crema);border:3px solid var(--card-line);background:0 0;font-size:19px}.btn--ghost:active:not(:disabled){box-shadow:none;transform:scale(.97)}.btn--xl{--btn-depth:7px;width:100%;min-height:72px;padding:14px 32px;font-size:clamp(26px,6.4vw,34px)}.btn--small{--btn-depth:4px;min-height:44px;padding:6px 16px;font-size:17px}.card{border-radius:var(--card-radius);padding:var(--card-pad);background:var(--card-bg);border:2px solid var(--card-line)}.card--paper{background:var(--crema);color:var(--cafe);box-shadow:0 8px 0 var(--paper-edge), 0 18px 40px #0000004d;border:0}.card__head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.card__title{font-family:var(--font-display);color:var(--maiz);font-size:clamp(22px,5vw,28px);font-weight:700}.card__note{color:var(--muted);text-align:right;font-size:16px}.pill{white-space:nowrap;background:#fff4e024;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:15px;font-weight:700;display:inline-flex}.field{gap:8px;min-width:0;display:grid}.field__label{font-size:18px;font-weight:700}.field__row{align-items:center;gap:12px;display:flex}.field__input{min-width:0;min-height:var(--tap);color:var(--cafe);font-family:var(--font-body);-webkit-user-select:text;user-select:text;touch-action:manipulation;background:#fff;border:3px solid #4a2c1a40;border-radius:16px;flex:1;padding:8px 18px;font-size:22px;font-weight:500}.field__input::placeholder{color:#4a2c1a73}.field__input:focus{border-color:var(--turquesa);outline:none;box-shadow:0 0 0 4px #00a19a40}.chef-form{gap:18px;display:grid}.chef-dot{--dot:48px;width:var(--dot);height:var(--dot);font-family:var(--font-display);font-size:calc(var(--dot) * .5);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid;box-shadow:inset 0 -4px #0000002e}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatch{width:var(--swatch);height:var(--swatch);touch-action:manipulation;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .1s ease-out,box-shadow .1s;display:grid;position:relative;box-shadow:inset 0 -5px #0003,0 0 0 3px #0000}.swatch:active{transform:scale(.92)}.swatch[aria-checked=true]{box-shadow:inset 0 -5px 0 #0003, 0 0 0 4px var(--crema), 0 0 0 7px var(--cafe);transform:scale(1.06)}.swatch:focus-visible{outline:4px solid var(--maiz);outline-offset:6px}.swatch__who{background:var(--cafe);width:22px;height:22px;color:var(--crema);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;bottom:-4px;right:-4px}.code-input{cursor:text;grid-auto-flow:column;gap:clamp(8px,2.4vw,14px);display:inline-grid;position:relative}.code-input__field{opacity:0;-webkit-user-select:text;user-select:text;touch-action:manipulation;border:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.code-input__box{width:var(--code-box);height:calc(var(--code-box) * 1.2);background:var(--crema);color:var(--cafe);font-family:var(--font-display);font-size:calc(var(--code-box) * .62);box-shadow:0 5px 0 var(--paper-edge);pointer-events:none;border:3px solid #0000;border-radius:16px;place-items:center;font-weight:700;line-height:1;display:grid}.code-input__box--active{border-color:var(--maiz);box-shadow:0 5px 0 var(--paper-edge), 0 0 0 4px #f7b50059}.code-input__box--active:not(.code-input__box--filled):after{content:"";background:var(--turquesa);border-radius:2px;width:4px;height:52%;animation:1s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.home__main{width:min(480px,100%);min-height:100%;padding:calc(var(--bunting-h) + 28px) max(var(--gutter), env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));text-align:center;align-content:center;justify-items:center;gap:clamp(22px,5vh,40px);margin:0 auto;display:grid}.home__title{font-family:var(--font-display);color:var(--maiz);text-shadow:0 5px 0 var(--cafe), 0 12px 28px #00000059;font-size:clamp(56px,16vw,112px);font-weight:700;line-height:.95}.home__tagline{opacity:.92;max-width:26ch;margin:14px auto 0;font-size:clamp(18px,4.6vw,23px)}.home__actions{gap:12px;width:100%;display:grid}.home__hint{color:var(--muted);font-size:16px}.home__learn{color:var(--muted);text-align:center;margin:4px 0 0;font-size:18px}.home__learn a{color:var(--maiz);text-underline-offset:3px;padding:6px 2px;font-weight:700;text-decoration:underline;display:inline-block}.home__learn a:focus-visible{outline:3px solid var(--maiz);outline-offset:2px;border-radius:6px}.home__or{color:var(--muted);align-items:center;gap:14px;margin:6px 0;font-size:18px;display:flex}.home__or:before,.home__or:after{content:"";background:var(--card-line);flex:1;height:2px}.home__join{justify-items:center;gap:14px;display:grid}.home__label{font-family:var(--font-display);font-size:clamp(20px,5vw,26px);font-weight:700}.home__join-btn{min-width:200px}.home__codehint{min-height:1.3em;color:var(--maiz);font-size:16px}.home__error{border:2px solid var(--chile);background:#d7263d38;border-radius:16px;padding:12px 16px;font-size:17px}@media (orientation:landscape) and (height<=540px){.home__main{width:min(920px,100%);padding-top:calc(var(--bunting-h) + 12px);grid-template-columns:1fr 1fr;align-items:center;gap:18px 40px}.home__title{font-size:clamp(48px,9vw,84px)}.home__or{margin:0}}.center{min-height:100%;padding:calc(var(--bunting-h) + 20px) max(var(--gutter), env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));place-items:center;display:grid}.notice{text-align:center;justify-items:center;gap:18px;width:min(460px,100%);display:grid}.notice__title{font-family:var(--font-display);font-size:clamp(26px,6.5vw,36px);font-weight:700;line-height:1.15}.notice__text{max-width:30ch;font-size:clamp(18px,4.5vw,22px)}.notice__actions{gap:10px;width:100%;display:grid}.dots{gap:10px;display:inline-flex}.dots span{background:var(--maiz);border-radius:50%;width:14px;height:14px;animation:.9s ease-in-out infinite dots-bounce}.dots span:nth-child(2){background:var(--rosa);animation-delay:.15s}.dots span:nth-child(3){background:var(--turquesa);animation-delay:.3s}@keyframes dots-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}}.join{gap:20px;width:min(480px,100%);display:grid}.join__room{background:var(--turquesa);color:#fff;letter-spacing:.06em;border-radius:999px;justify-self:center;padding:4px 16px;font-size:18px;font-weight:700}.join__title{font-family:var(--font-display);text-align:center;font-size:clamp(28px,7vw,40px);font-weight:700}.toast{left:50%;bottom:calc(120px + env(safe-area-inset-bottom));z-index:50;background:var(--cafe);max-width:calc(100vw - 32px);color:var(--crema);text-align:center;pointer-events:none;border-radius:18px;padding:12px 22px;font-size:18px;font-weight:700;animation:.2s ease-out toast-in;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.net-banner{top:calc(10px + env(safe-area-inset-top));z-index:60;background:var(--maiz);max-width:calc(100vw - 24px);color:var(--cafe);pointer-events:none;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;font-size:17px;font-weight:700;animation:.2s ease-out toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.net-banner--ok{background:var(--nopal);color:#fff}.sheet-backdrop{z-index:40;touch-action:pan-y;background:#0a141499;place-items:end center;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.sheet{width:min(520px,100%);max-height:100%;padding:22px max(var(--gutter), env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));border-radius:var(--card-radius) var(--card-radius) 0 0;background:var(--crema);color:var(--cafe);animation:.2s ease-out sheet-up;overflow-y:auto;box-shadow:0 -10px 40px #00000059}.sheet__form{gap:18px;display:grid}.sheet__title{font-family:var(--font-display);font-size:28px;font-weight:700}.sheet__actions{grid-template-columns:1fr 1.4fr;gap:12px;display:grid}.sheet__actions .btn--ghost{color:var(--cafe);border-color:#4a2c1a40}@media (width>=700px) and (height>=600px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--card-radius);padding:28px}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(30px)}}@media (prefers-reduced-motion:reduce){.bunting__flag,.dots span,.code-input__box--active:after{animation:none}}@media (width<=560px){:root{--card-radius:18px;--card-pad:12px;--swatch:44px;--bunting-h:24px}.card__title{font-size:19px}.btn--xl{--btn-depth:5px;min-height:58px;padding:10px 24px;font-size:24px}.btn--small{min-height:38px;padding:4px 12px;font-size:15px}.home__title{font-size:clamp(48px,14vw,72px)}}@media (orientation:landscape) and (height<=500px){:root{--bunting-h:22px;--card-pad:12px;--code-box:46px}.btn--xl{--btn-depth:5px;min-height:52px;padding:8px 22px;font-size:22px}.home__title{font-size:clamp(44px,9vw,72px)}}.loading{z-index:10;padding:max(24px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));background:radial-gradient(120% 80% at 50% 35%, #00a19a59, transparent 70%), radial-gradient(90% 60% at 50% 110%, #e4007c2e, transparent 70%), var(--noche);color:var(--crema);font-family:var(--font-display);text-align:center;pointer-events:auto;place-items:center;display:grid;position:fixed;inset:0}.loading__flags{border-top:3px solid var(--cafe);justify-content:space-between;padding:0 8px;display:flex;position:absolute;top:0;left:0;right:0}.loading__flag{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;width:clamp(18px,5vw,42px);height:clamp(24px,6.5vw,54px);animation:2.6s ease-in-out infinite alternate loading-swing}.loading__flag:nth-child(2n){animation-delay:-1.3s}.loading__flag--rosa{background:var(--rosa)}.loading__flag--turquesa{background:var(--turquesa)}.loading__flag--maiz{background:var(--maiz)}.loading__flag--nopal{background:var(--nopal)}.loading__flag--chile{background:var(--chile)}.loading__body{justify-items:center;gap:14px;width:min(560px,100%);display:grid}.loading__title{color:var(--maiz);text-shadow:0 4px 0 var(--cafe), 0 10px 24px #00000059;margin:0;font-size:clamp(48px,12vw,96px);font-weight:700;line-height:1}.loading__subtitle{margin:4px 0 6px;font-size:clamp(20px,4.5vw,28px);font-weight:500}.loading__bar{border:3px solid var(--crema);background:#fff4e01f;border-radius:999px;width:100%;height:28px;padding:4px;overflow:hidden}.loading__fill{background:linear-gradient(90deg, var(--rosa), var(--maiz));border-radius:999px;min-width:20px;height:100%;transition:width .25s ease-out;position:relative;overflow:hidden}.loading__fill:before{content:"";will-change:transform;background:repeating-linear-gradient(-45deg,#ffffff38 0 10px,#0000 10px 20px) 0 0/28px 28px;animation:.9s linear infinite loading-stripes;position:absolute;inset:0 0 0 -28px}.loading__pct{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.loading__tip{opacity:.92;max-width:30ch;min-height:3.2em;margin:8px 0 0;font-size:clamp(18px,4.2vw,22px);font-weight:500;line-height:1.35;animation:.5s ease-out loading-fade}.loading__error{justify-items:center;gap:22px;margin-top:10px;display:grid}.loading__message{max-width:28ch;margin:0;font-size:clamp(20px,4.8vw,26px);font-weight:500;line-height:1.35}.loading__retry{background:var(--rosa);min-width:200px;color:var(--crema);font-family:var(--font-display);border:0;border-radius:999px;padding:14px 32px;font-size:24px;font-weight:700;transition:transform 80ms ease-out,box-shadow 80ms ease-out;box-shadow:0 6px #9e0056}.loading__retry:hover{filter:brightness(1.08)}.loading__retry:active{transform:translateY(4px);box-shadow:0 2px #9e0056}.loading__retry:focus-visible{outline:4px solid var(--maiz);outline-offset:4px}@keyframes loading-swing{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@keyframes loading-stripes{to{transform:translate(28px)}}@keyframes loading-fade{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.loading__flag,.loading__fill:before,.loading__tip{animation:none}}
