*,*:before,*:after{box-sizing:border-box}:root{--ff-ink: #18202f;--ff-paper: #fffaf0;--ff-blue: #54b7d3;--ff-green: #42b883;--ff-coral: #f26d5b;--ff-gold: #f6be3b;--ff-violet: #6b5fd3}body{margin:0;min-height:100dvh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ff-ink);background:#dff6ff}[hidden]{display:none!important}.ff-shell{--game-shell-pad-top: 0px;--game-shell-pad-bottom: 0px}.ff-top{display:grid;grid-template-columns:auto repeat(4,minmax(74px,max-content));align-items:center;justify-content:center;gap:10px;padding:10px 14px;background:#fff;border-bottom:2px solid rgba(24,32,47,.08)}.ff-home,.ff-stat,.ff-help-button,.ff-primary,.ff-secondary{min-height:40px;border-radius:8px;border:2px solid rgba(24,32,47,.14);display:inline-flex;align-items:center;justify-content:center;padding:0 14px;font-weight:800;text-decoration:none}.ff-home,.ff-stat,.ff-help-button{color:var(--ff-ink);background:#f6fbff}.ff-primary,.ff-help-button,.ff-secondary{cursor:pointer;font:inherit}.ff-help-button{box-shadow:none}.ff-primary{color:#fff;background:var(--ff-coral);box-shadow:0 4px #bf4638}.ff-secondary{color:var(--ff-ink);background:#fff;box-shadow:0 4px #18202f24}.ff-scene{--ff-bg-offset: 0px;--ff-bg-image: url(/factorfall/assets/factorfall/background-pet.png);--ff-platform-image: url(/factorfall/assets/factorfall/platform-pet.png?v=art-3);position:relative;height:100%;min-height:0;overflow:hidden;background-image:linear-gradient(180deg,#ffffffd6,#fff0 34%),var(--ff-bg-image),linear-gradient(180deg,#8edff2,#eaf9f3 58%,#fff7da);background-position:center top,center calc(100% + var(--ff-bg-offset)),center;background-size:100% 38%,max(100%,1320px) auto,cover;background-repeat:no-repeat;transition:background-position .76s ease}.ff-skyline{position:absolute;inset:auto 0 0;height:18%;background:linear-gradient(135deg,transparent 30%,rgba(66,184,131,.22) 30% 52%,transparent 52%) 0 0 / 180px 100%,linear-gradient(45deg,transparent 28%,rgba(84,183,211,.22) 28% 50%,transparent 50%) 90px 0 / 190px 100%;pointer-events:none}.ff-start,.ff-prize{position:relative;z-index:2;height:100%;min-height:0;display:grid;align-content:center;justify-items:center;gap:18px;padding:24px;text-align:center}.ff-start h1{margin:0;font-size:clamp(2.4rem,9vw,5rem);line-height:.95;color:#23314a}.ff-start p{max-width:520px;margin:0;font-size:clamp(1rem,2.6vw,1.25rem);font-weight:700}.ff-scene[data-environment=sumzilla] .ff-start h1,.ff-scene[data-environment=robot] .ff-start h1{color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.58)}.ff-scene[data-environment=sumzilla] .ff-start p,.ff-scene[data-environment=robot] .ff-start p{padding:8px 14px;border:2px solid rgba(255,255,255,.48);border-radius:8px;color:#fff;background:#121827b8;text-shadow:0 2px 6px rgba(0,0,0,.5)}.ff-character-select{display:grid;grid-template-columns:repeat(5,minmax(82px,1fr));gap:10px;width:min(700px,100%)}.ff-character-card{min-height:122px;display:grid;grid-template-rows:1fr auto;justify-items:center;gap:6px;padding:10px;border:2px solid rgba(24,32,47,.14);border-radius:8px;background:#ffffffc7;color:var(--ff-ink);font:inherit;font-weight:900;cursor:pointer;box-shadow:0 8px 18px #18202f14}.ff-character-card--selected{border-color:var(--ff-coral);background:#fff;box-shadow:0 0 0 4px #f26d5b2e,0 10px 20px #18202f1f}.ff-character-preview{position:relative;width:68px;height:68px;display:block}.ff-character-preview .monster-layer,.ff-character-layer,.ff-character-render--preview .monster-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.ff-game{position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;height:100%;min-height:0;padding:12px}.ff-question-card{width:min(760px,100%);margin:0 auto;display:grid;gap:4px;padding:10px 14px;border-radius:8px;background:#fff;border:2px solid rgba(24,32,47,.12);box-shadow:0 8px 20px #18202f14;text-align:center}.ff-question-card span{color:var(--ff-violet);font-size:.85rem;font-weight:900;text-transform:uppercase}.ff-question-card strong{font-size:clamp(1rem,3.5vw,1.55rem)}.ff-playfield{position:relative;width:min(860px,100%);height:100%;min-height:0;margin:0 auto;overflow:hidden}.ff-summit{position:absolute;top:4px;left:50%;transform:translate(-50%);padding:7px 12px;border-radius:8px;color:#4f3800;background:#ffdf75;border:2px solid rgba(79,56,0,.18);font-weight:900}.ff-platform-row{position:absolute;inset:82px 0 auto;height:130px;opacity:1;transform:translateY(0);transition:transform .36s ease,opacity .26s ease}.ff-platform-row--entering{animation:ff-row-enter .34s ease-out}.ff-platform-row--hidden{opacity:0}.ff-platform-row--outgoing{z-index:3;pointer-events:none}.ff-platform-row--dropping{opacity:.18;transform:translateY(220px) scale(1.08)}.ff-platform-row--falling-away{opacity:0;transform:translateY(-210px) scale(.92);pointer-events:none;transition:transform .58s ease-in,opacity .38s ease}.ff-answer-island{appearance:none;-webkit-appearance:none;position:absolute;top:30px;width:clamp(94px,20vw,146px);height:clamp(72px,14vw,98px);transform:translate(-50%);border:0;border-radius:0;background-color:transparent!important;background-image:var(--ff-platform-image)!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;box-shadow:none!important;color:#fff;font:inherit;font-size:clamp(1.45rem,4.6vw,2.15rem);font-weight:1000;overflow:visible;transition:opacity .24s ease,transform .36s ease,top .62s ease,width .62s ease,height .62s ease,background .3s ease,box-shadow .3s ease}.ff-scene[data-environment=robot] .ff-answer-island,.ff-scene[data-environment=robot] .ff-base-platform{filter:brightness(1.38) contrast(1.22) drop-shadow(0 0 12px rgba(167,235,255,.78)) drop-shadow(0 8px 10px rgba(0,0,0,.34))}.ff-answer-island--dismissed{opacity:0;transform:translate(-50%) translateY(-18px) scale(.86);pointer-events:none}.ff-answer-island--landed{z-index:5;background-color:transparent!important;background-image:var(--ff-platform-image)!important;box-shadow:none!important}.ff-answer-island--promoting{position:absolute;top:112px;z-index:6;pointer-events:none;background-color:transparent!important;background-image:var(--ff-platform-image)!important;box-shadow:none!important}.ff-answer-island--becoming-base{top:calc(100% - 122px);width:clamp(128px,28vw,184px);height:58px;opacity:.95;transform:translate(-50%) scale(1)}.ff-answer-island b{position:absolute;top:-18px;right:4px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--ff-coral);font-size:1.05rem}.ff-answer-island--heart{width:clamp(108px,22vw,158px);height:clamp(82px,16vw,112px);background-color:transparent!important;background-image:var(--ff-platform-image)!important;box-shadow:none!important}.ff-answer-label{position:absolute;left:50%;bottom:calc(100% + 6px);min-width:52px;transform:translate(-50%);padding:3px 10px;border-radius:8px;color:var(--ff-ink);background:#ffffffdb;text-shadow:none;line-height:1.1;box-shadow:0 4px 12px #18202f1a}.ff-scene[data-environment=sumzilla] .ff-answer-label:not(.ff-answer-label--heart),.ff-scene[data-environment=robot] .ff-answer-label:not(.ff-answer-label--heart){color:#fff;background:#121827eb;border:2px solid rgba(255,255,255,.88);text-shadow:0 1px 3px rgba(0,0,0,.72);box-shadow:0 0 0 2px #1218273d,0 8px 18px #00000047}.ff-answer-label--heart{color:#e33f65;font-size:clamp(2rem,7vw,3.2rem);background:transparent;box-shadow:none}.ff-answer-island--heart em{position:absolute;left:50%;bottom:calc(100% - 28px);transform:translate(-50%);color:#fff;font-size:clamp(.7rem,2.4vw,.92rem);font-style:normal;font-weight:900;text-shadow:0 2px 6px rgba(24,32,47,.3)}.ff-base-platform{appearance:none;-webkit-appearance:none;position:absolute;bottom:78px;left:50%;width:clamp(128px,28vw,184px);height:58px;transform:translate(-50%);border-radius:0;background-color:transparent!important;background-image:var(--ff-platform-image)!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;box-shadow:none!important;transition:left .08s linear,transform .42s ease,opacity .42s ease}.ff-base-platform--old{transform:translate(-50%,54px) scale(.92);opacity:0}.ff-base-platform--promoted{background-color:transparent!important;background-image:var(--ff-platform-image)!important}.ff-player{position:absolute;left:50%;bottom:104px;width:clamp(74px,17vw,108px);aspect-ratio:1;z-index:4;transform:translate(-50%);transition:left .08s linear,bottom .58s cubic-bezier(.18,.88,.28,1.05),transform .35s ease,opacity .35s ease}.ff-player--jumping,.ff-player--demo{bottom:204px;transform:translate(-50%) scale(1.04);transition:left .5s ease,bottom .58s cubic-bezier(.18,.88,.28,1.05),transform .35s ease,opacity .35s ease}.ff-player--riding-up{bottom:236px;transform:translate(-50%) scale(1.05);transition:left .42s ease,bottom .58s cubic-bezier(.18,.88,.28,1.05),transform .35s ease,opacity .35s ease}.ff-player--missing{bottom:190px;transform:translate(-50%) scale(1.03);transition:bottom .34s cubic-bezier(.2,.9,.24,1),transform .34s ease}.ff-player--falling{bottom:-170px;opacity:.35;transform:translate(-50%) rotate(18deg);transition:left .28s ease,bottom .78s cubic-bezier(.7,.02,.9,.55),transform .78s ease,opacity .65s ease}.ff-monster,.ff-fallback{position:absolute;inset:0;z-index:1}.ff-scene[data-environment=monster] .ff-player:before{content:"";position:absolute;inset:7%;z-index:0;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.88),rgba(255,255,255,.36) 62%,transparent 72%);box-shadow:0 0 18px #ffffffd1,0 8px 18px #00000047;pointer-events:none}.ff-scene[data-environment=monster] .ff-monster{filter:drop-shadow(0 0 4px rgba(255,255,255,.95)) drop-shadow(0 8px 10px rgba(0,0,0,.38))}.ff-monster .monster-layer,.ff-monster .ff-character-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.ff-fallback{display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--ff-violet),var(--ff-blue));border:4px solid #fff;box-shadow:0 8px 18px #18202f3d;font-size:2rem}.ff-controls{display:flex;justify-content:center;gap:12px}.ff-jump{min-width:min(220px,52vw);min-height:54px;font-size:1.2rem}.ff-message{min-height:42px;width:min(760px,100%);margin:0 auto 8px;padding:8px 12px;border-radius:8px;text-align:center;color:var(--ff-ink);background:#ffffffdb;border:2px solid rgba(24,32,47,.1);box-shadow:0 6px 16px #18202f1a;font-weight:800}.ff-scene[data-environment=sumzilla] .ff-message,.ff-scene[data-environment=robot] .ff-message{color:#fff;background:#121827bd;border-color:#ffffff7a;text-shadow:0 2px 6px rgba(0,0,0,.55)}.ff-prize-card{width:min(520px,100%);padding:24px;border-radius:8px;background:#fff;border:3px solid rgba(24,32,47,.14);box-shadow:0 20px 50px #18202f2e}.ff-prize-icon{font-size:4rem}.ff-prize-icon--gif{display:grid;place-items:center}.ff-prize-icon--gif img{width:min(100%,360px);aspect-ratio:3 / 2;object-fit:contain;display:block;margin:0 auto}.ff-prize-card h2{margin:8px 0;font-size:clamp(1.8rem,7vw,3.2rem)}.ff-prize-card p{margin:0 0 18px;font-weight:800}.ff-prize-card--dance{animation:ff-dance .65s ease-in-out infinite alternate}@keyframes ff-row-enter{0%{opacity:0;transform:translateY(-44px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ff-dance{0%{transform:rotate(-2deg) translateY(0)}to{transform:rotate(2deg) translateY(-10px)}}.ff-help-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#18202f6b}.ff-help-card{position:relative;width:min(480px,100%);padding:24px;border-radius:8px;background:#fff;border:3px solid rgba(24,32,47,.16);box-shadow:0 22px 60px #18202f38}.ff-help-card h2{margin:0 42px 12px 0;font-size:clamp(1.4rem,6vw,2rem)}.ff-help-card p{margin:0 0 12px;font-weight:750;line-height:1.45}.ff-help-card p:last-child{margin-bottom:0}.ff-help-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:2px solid rgba(24,32,47,.14);border-radius:8px;background:#f6fbff;color:var(--ff-ink);font:inherit;font-size:1.35rem;font-weight:900;cursor:pointer}@media(max-width:620px){.ff-top{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-home,.ff-stat,.ff-help-button{min-width:0;padding:0 8px;font-size:.88rem}.ff-game{grid-template-rows:auto minmax(0,1fr) auto auto;padding:10px}.ff-playfield{min-height:0}.ff-character-select{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-platform-row{top:74px}.ff-player--jumping,.ff-player--demo{bottom:190px}.ff-player--riding-up{bottom:222px}}@media(min-width:700px)and (max-height:760px){.ff-top{gap:6px;padding:6px 10px;grid-template-columns:auto repeat(4,minmax(62px,max-content))}.ff-home,.ff-stat,.ff-help-button{min-height:32px;padding:0 10px;font-size:.82rem}.ff-game{gap:8px;padding:8px 10px}.ff-question-card{padding:8px 12px}.ff-question-card span{font-size:.74rem}.ff-question-card strong{font-size:clamp(1rem,2.6vw,1.35rem)}.ff-platform-row{inset:64px 0 auto;height:112px}.ff-answer-island{width:clamp(84px,16vw,128px);height:clamp(64px,11vw,88px);font-size:clamp(1.2rem,3.2vw,1.8rem)}.ff-base-platform{bottom:58px;width:clamp(112px,22vw,164px);height:52px}.ff-player{bottom:84px;width:clamp(64px,13vw,96px)}.ff-player--jumping,.ff-player--demo{bottom:176px}.ff-player--riding-up{bottom:206px}.ff-controls{gap:8px}.ff-jump{min-height:44px;font-size:1rem}.ff-message{min-height:28px;margin-bottom:0}}
