:root{--pink: #ff9ec7;--pink-deep: #e0559a;--pink-soft: #ffe1ee;--lav: #c3a6ff;--lav-deep: #7a5cc7;--lav-soft: #efe6ff;--mint: #9ff0d0;--mint-deep: #3fae8a;--mint-soft: #dcfff1;--peach: #ffc9a3;--peach-deep: #e8956a;--butter: #fff1a8;--butter-deep: #e6c34a;--sky: #a8dcff;--sky-deep: #5aa9e6;--cream: #fff7ef;--ink: #3b2a4a;--berry: #b03a7a;--font-title: "Press Start 2P", monospace;--font-body: "Pixelify Sans", "Press Start 2P", monospace;--shadow: 4px 4px 0 0 var(--ink);--dots: radial-gradient(rgba(255, 158, 199, .16) 1.6px, transparent 1.8px)}.fp-ui-root,#ui-root{font-family:var(--font-body);color:var(--ink);font-size:19px;line-height:1.35;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0}#ui-root input,#ui-root button,#ui-root textarea,#ui-root select{font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0}#ui-root *,#ui-root *:before,#ui-root *:after{box-sizing:border-box}#ui-root canvas{image-rendering:pixelated;image-rendering:crisp-edges}#ui-root .retro-chart{image-rendering:auto;max-width:100%;height:auto!important;border-radius:4px;box-shadow:3px 3px 0 var(--ink)}.fp-icon{display:inline-block;flex:none;vertical-align:middle}.fp-icon-tiny{width:14px;height:14px}.fp-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.fp-panel{position:relative;background-color:var(--cream);background-image:var(--dots);background-size:14px 14px;border:3px solid var(--ink);border-radius:6px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px var(--pink),var(--shadow);pointer-events:auto}.fp-panel-mini{background:var(--cream);border:3px solid var(--ink);border-radius:6px;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--pink-soft),3px 3px 0 0 var(--ink)}.fp-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#3b2a4a61;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:6px 6px;animation:fp-fade-in .2s ease-out}.fp-modal-layer{display:flex;align-items:center;justify-content:center;pointer-events:auto;padding:16px}.fp-modal-layer.no-backdrop{pointer-events:none}.fp-modal{position:relative;display:flex;flex-direction:column;width:min(640px,92vw);max-height:88vh;padding:6px}.fp-modal.is-wide{width:min(1000px,95vw);max-height:92vh}.fp-small-modal{width:min(470px,92vw)}.fp-modal-header{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 46px;background:linear-gradient(180deg,#ffc0dc 0%,var(--pink) 100%);border-bottom:3px solid var(--ink);border-radius:3px 3px 0 0;flex:none}.fp-modal-title{margin:0;font-family:var(--font-title);font-size:14px;line-height:1.4;letter-spacing:1px;text-align:center;color:var(--ink);text-shadow:2px 2px 0 #fff}.fp-modal-title-icon{width:24px;height:24px;animation:fp-twinkle 1.6s ease-in-out infinite}.fp-modal-x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0 0 3px;font-family:var(--font-title);font-size:12px;color:var(--ink);background:var(--lav);border:3px solid var(--ink);border-radius:4px;box-shadow:inset 0 -3px 0 var(--lav-deep),2px 2px 0 var(--ink);cursor:pointer;pointer-events:auto}.fp-modal-x:hover{background:#d6c3ff}.fp-modal-x:active{transform:translateY(calc(-50% + 2px));box-shadow:inset 0 -1px 0 var(--lav-deep)}.fp-modal-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 22px;font-size:19px;-webkit-user-select:text;user-select:text}.fp-modal-footer{flex:none;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:10px 16px 14px}.fp-modal-footer:empty{display:none}.fp-modal-content::-webkit-scrollbar,.fp-select-panel::-webkit-scrollbar,.fp-cert-wrap::-webkit-scrollbar{width:12px}.fp-modal-content::-webkit-scrollbar-track,.fp-select-panel::-webkit-scrollbar-track,.fp-cert-wrap::-webkit-scrollbar-track{background:var(--pink-soft);border-left:2px solid var(--ink)}.fp-modal-content::-webkit-scrollbar-thumb,.fp-select-panel::-webkit-scrollbar-thumb,.fp-cert-wrap::-webkit-scrollbar-thumb{background:var(--pink);border:2px solid var(--ink)}:where(.fp-modal-content) :where(h2){font-family:var(--font-title);font-size:14px;line-height:1.5;margin:10px 0}:where(.fp-modal-content) :where(h3){font-family:var(--font-title);font-size:12px;line-height:1.5;color:var(--lav-deep);margin:14px 0 8px}:where(.fp-modal-content) :where(h4){font-family:var(--font-title);font-size:10px;line-height:1.5;margin:12px 0 6px}:where(.fp-modal-content) :where(p){margin:8px 0}:where(.fp-modal-content) :where(ul,ol){margin:8px 0;padding-left:24px}:where(.fp-modal-content) :where(table){border-collapse:collapse;width:100%;background:#fff;border:3px solid var(--ink);margin:8px 0}:where(.fp-modal-content) :where(th,td){border:2px solid #e6d6f0;padding:6px 8px;text-align:left;font-size:18px}:where(.fp-modal-content) :where(th){background:var(--pink-soft);font-family:var(--font-title);font-size:9px;line-height:1.5}:where(.fp-layer) :where(button:not([class])){font-family:var(--font-title);font-size:11px;line-height:1.3;color:var(--ink);padding:10px 14px 12px;margin:3px;background:var(--pink);border:3px solid var(--ink);border-radius:4px;box-shadow:inset 0 -4px 0 var(--pink-deep),inset 0 3px #ffffff80,3px 3px 0 var(--ink);cursor:pointer}:where(.fp-layer) :where(button:not([class]):hover){filter:brightness(1.06)}:where(.fp-layer) :where(button:not([class]):active){transform:translateY(3px);box-shadow:inset 0 -1px 0 var(--pink-deep),0 0 0 var(--ink)}:where(.fp-layer) :where(button:disabled){opacity:.5;cursor:not-allowed}:where(.fp-layer) :where(input[type=text],input[type=number],input:not([type]),textarea,select){font-family:var(--font-body);font-size:20px;color:var(--ink);padding:8px 10px;background:#fff;border:3px solid var(--ink);border-radius:4px;box-shadow:inset 3px 3px #f1e6f7;outline:none;-webkit-user-select:text;user-select:text}:where(.fp-layer) :where(input[type=range]){accent-color:var(--pink-deep)}.fp-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.fp-col{display:flex;flex-direction:column;gap:10px}.fp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fp-card{background:#fff;border:3px solid var(--ink);border-radius:6px;padding:10px 14px;box-shadow:3px 3px 0 var(--ink)}.fp-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:18px;padding:6px 12px;background:#fff;border:3px solid var(--ink);border-radius:999px;box-shadow:inset 0 -3px #eadff3,2px 2px 0 var(--ink);cursor:pointer;color:var(--ink)}.fp-chip:hover{background:var(--butter)}.fp-chip.is-selected,.fp-chip.selected{background:var(--pink);box-shadow:inset 0 -3px 0 var(--pink-deep),2px 2px 0 var(--ink)}.fp-center{text-align:center}.fp-text{font-size:20px;line-height:1.4}.fp-subtitle{font-family:var(--font-title);font-size:12px;line-height:1.5;color:var(--lav-deep);margin:0 0 12px}.fp-kicker{font-family:var(--font-title);font-size:10px;letter-spacing:1px;color:var(--lav-deep);text-transform:uppercase}.fp-hint-text{font-size:16px;opacity:.72}.fp-error-text{color:var(--berry);font-size:20px}.fp-btn{--btn: var(--pink);--btn-deep: var(--pink-deep);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-title);font-size:11px;line-height:1.3;letter-spacing:.5px;color:var(--ink);padding:11px 16px 14px;background:var(--btn);border:3px solid var(--ink);border-radius:5px;box-shadow:inset 0 -4px 0 var(--btn-deep),inset 0 3px #ffffff8c,3px 3px 0 var(--ink);cursor:pointer;pointer-events:auto;transition:transform .06s ease,filter .1s ease;white-space:nowrap}.fp-btn-pink{--btn: var(--pink);--btn-deep: var(--pink-deep)}.fp-btn-mint{--btn: var(--mint);--btn-deep: var(--mint-deep)}.fp-btn-lavender{--btn: var(--lav);--btn-deep: var(--lav-deep)}.fp-btn-peach{--btn: var(--peach);--btn-deep: var(--peach-deep)}.fp-btn-sky{--btn: var(--sky);--btn-deep: var(--sky-deep)}.fp-btn-butter{--btn: var(--butter);--btn-deep: var(--butter-deep)}.fp-btn-ghost{--btn: #fff;--btn-deep: #d9cbe6}.fp-btn:hover,.fp-btn.is-focused{filter:brightness(1.07) saturate(1.05);transform:translateY(-2px)}.fp-btn.is-focused:before{content:"";position:absolute;left:-15px;top:50%;margin-top:-6px;border-left:8px solid var(--ink);border-top:6px solid transparent;border-bottom:6px solid transparent;animation:fp-nudge .6s steps(2) infinite}.fp-btn:active{transform:translateY(3px);box-shadow:inset 0 -1px 0 var(--btn-deep),inset 0 2px #fff6,0 0 0 var(--ink)}.fp-btn:disabled{opacity:.5;filter:grayscale(.4);cursor:not-allowed;transform:none}.fp-btn:focus-visible{outline:3px dashed var(--lav-deep);outline-offset:3px}.fp-btn-small{font-size:9px;padding:8px 10px 10px}.fp-btn-big{font-size:13px;padding:14px 22px 17px}.fp-key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:4px 6px 6px;font-family:var(--font-title);font-size:10px;line-height:1;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:4px;box-shadow:inset 0 -3px #e2d4ee;flex:none}.fp-key-sm{font-size:7px;min-width:18px;padding:3px 4px 5px}@keyframes fp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fp-fade-out{0%{opacity:1}to{opacity:0}}@keyframes fp-pop-in{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.04);opacity:1}to{transform:scale(1)}}@keyframes fp-pop-out{to{transform:scale(.85);opacity:0}}@keyframes fp-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@keyframes fp-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes fp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fp-nudge{0%{transform:translate(0)}to{transform:translate(3px)}}@keyframes fp-twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.8) rotate(15deg);opacity:.75}}@keyframes fp-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fp-drop{0%{transform:translateY(-120%);opacity:0}60%{transform:translateY(6%);opacity:1}80%{transform:translateY(-2%)}to{transform:translateY(0)}}@keyframes fp-burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.3) rotate(180deg);opacity:0}}@keyframes fp-float-up{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(-36px);opacity:0}}@keyframes fp-flash{0%{transform:scale(1)}30%{transform:scale(1.18);background:var(--butter)}to{transform:scale(1)}}@keyframes fp-star-pop{0%{transform:scale(.2) rotate(-40deg)}70%{transform:scale(1.25) rotate(8deg)}to{transform:scale(1) rotate(0)}}@keyframes fp-spin-bob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(6deg)}}.fp-pop{animation:fp-pop-in .24s cubic-bezier(.2,1.4,.4,1) both}.fp-shake{animation:fp-shake .36s ease}.fp-layer.fp-leaving{animation:fp-fade-out .16s ease-in forwards}.fp-layer.fp-leaving .fp-pop{animation:fp-pop-out .16s ease-in forwards}.fp-burst{position:absolute;left:50%;top:40%;width:0;height:0;pointer-events:none;z-index:5}.fp-burst i{position:absolute;left:-4px;top:-4px;width:8px;height:8px;background:var(--c);box-shadow:0 0 0 2px #3b2a4a40;animation:fp-burst .95s cubic-bezier(.1,.7,.3,1) forwards}.fp-burst i.fp-burst-star{width:14px;height:14px;left:-7px;top:-7px;box-shadow:none;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.fp-hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:opacity .25s ease;z-index:1}.fp-hud.is-hidden{opacity:0;visibility:hidden}.fp-hud-loc{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;font-family:var(--font-title);font-size:11px;letter-spacing:.5px;max-width:46vw}.fp-hud-loc-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-hud-loc-icon{animation:fp-bob 1.6s ease-in-out infinite}.fp-hud-counters{position:absolute;top:14px;right:14px;display:flex;gap:10px}.fp-hud-chip{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;font-family:var(--font-title);font-size:13px;background:var(--cream);border:3px solid var(--ink);border-radius:999px;box-shadow:inset 0 -3px #f1e2ec,3px 3px 0 var(--ink)}.fp-hud-chip.is-flash{animation:fp-flash .5s ease}.fp-hud-stars.is-complete{background:var(--butter)}.fp-hud-coinfloat{position:absolute;top:58px;right:60px;width:80px;height:0}.fp-hud-plus{position:absolute;right:0;top:0;font-family:var(--font-title);font-size:14px;color:var(--pink-deep);text-shadow:2px 0 0 #fff,-2px 0 0 #fff,0 2px 0 #fff,0 -2px 0 #fff,2px 2px 0 var(--ink);animation:fp-float-up 1.1s ease-out forwards}.fp-hud-obj{position:absolute;top:72px;right:14px;width:290px;padding:10px 14px;transition:opacity .2s ease}.fp-hud-obj-title{display:flex;align-items:center;gap:8px;font-family:var(--font-title);font-size:10px;color:var(--lav-deep);margin-bottom:6px;padding-bottom:6px;border-bottom:2px dotted #e3cfe9}.fp-hud-obj-list{list-style:none;margin:0;padding:0}.fp-hud-obj-list li{display:flex;align-items:flex-start;gap:9px;font-size:18px;line-height:1.25;margin:6px 0}.fp-hud-obj-list li.is-done span:last-child{opacity:.6;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--pink-deep)}.fp-check{position:relative;flex:none;width:18px;height:18px;margin-top:2px;background:#fff;border:3px solid var(--ink);border-radius:3px}.fp-check.is-done{background:var(--mint)}.fp-check.is-done:after{content:"";position:absolute;left:3px;top:-2px;width:5px;height:10px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(40deg)}.fp-hud-prompt{position:absolute;left:50%;bottom:70px;display:flex;align-items:center;gap:10px;padding:8px 18px 8px 10px;font-size:20px;background:var(--cream);border:3px solid var(--ink);border-radius:999px;box-shadow:inset 0 -3px #f1e2ec,4px 4px 0 var(--ink);opacity:0;transform:translate(-50%,16px);transition:opacity .15s ease,transform .18s cubic-bezier(.2,1.4,.4,1);white-space:nowrap}.fp-hud-prompt.is-on{opacity:1;transform:translate(-50%);animation:fp-prompt-bob 1.4s ease-in-out .2s infinite}@keyframes fp-prompt-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-4px)}}.fp-hud-prompt .fp-key{background:var(--pink);box-shadow:inset 0 -3px 0 var(--pink-deep);font-size:11px}.fp-hud-hint{position:absolute;left:14px;bottom:12px;display:flex;align-items:center;flex-wrap:wrap;gap:5px 6px;max-width:60vw;padding:5px 9px;font-size:15px;background:#fff7efc7;border:2px solid var(--ink);border-radius:6px;transition:opacity .2s ease}.fp-hud-hint>span:not(.fp-key){margin-right:6px}.fp-is-blocking .fp-hud-prompt,.fp-is-blocking .fp-hud-hint{opacity:0}.fp-is-blocking .fp-hud-obj{opacity:.35}.fp-toasts{position:absolute;top:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1500;pointer-events:none;width:min(560px,70vw)}.fp-toast{display:flex;align-items:center;gap:10px;max-width:100%;padding:8px 18px 8px 10px;font-size:19px;background:var(--cream);border:3px solid var(--ink);border-radius:8px;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px var(--lav-soft),4px 4px 0 var(--ink);animation:fp-toast-in .28s cubic-bezier(.2,1.4,.4,1) both}.fp-toast-out{animation:fp-toast-out .3s ease-in forwards}@keyframes fp-toast-in{0%{transform:translateY(-24px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes fp-toast-out{to{transform:translateY(-16px);opacity:0}}.fp-fade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition-property:opacity;transition-timing-function:linear;background-color:#f7d4e8;background-image:radial-gradient(rgba(195,166,255,.35) 2px,transparent 2.2px);background-size:18px 18px}.fp-fade.is-on{visibility:visible;pointer-events:auto}.fp-fade-heart{animation:fp-bob .8s ease-in-out infinite}.fp-dialogue-layer{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:22px}.fp-dialogue{position:relative;display:flex;align-items:stretch;gap:18px;width:min(920px,94vw);min-height:156px;padding:20px 26px 18px 18px;background-color:var(--cream);background-image:var(--dots);background-size:14px 14px;border:3px solid var(--ink);border-radius:8px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px var(--pink),var(--shadow);pointer-events:auto;cursor:pointer}.fp-dialogue-portrait{flex:none;width:112px;height:112px;align-self:center;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--lav-soft) 0%,#ffd8ea 100%);border:3px solid var(--ink);border-radius:8px;box-shadow:inset 0 0 0 3px #fff,3px 3px 0 var(--ink);overflow:hidden}.fp-dialogue-portrait canvas{transition:transform .06s steps(1)}.fp-dialogue-portrait.is-talk canvas{transform:translateY(-3px)}.fp-dialogue-body{position:relative;flex:1 1 auto;min-width:0;padding-top:10px}.fp-dialogue-name{position:absolute;top:-38px;left:-4px;display:flex;align-items:center;gap:8px;padding:7px 14px 8px 10px;font-family:var(--font-title);font-size:11px;letter-spacing:.5px;background:var(--pink);border:3px solid var(--ink);border-radius:6px;box-shadow:inset 0 -3px 0 var(--pink-deep),3px 3px 0 var(--ink);white-space:nowrap}.fp-dialogue-text{min-height:3.6em;font-size:23px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.fp-dialogue-more{position:absolute;right:-8px;bottom:-6px;width:0;height:0;border-top:10px solid var(--pink-deep);border-left:8px solid transparent;border-right:8px solid transparent;opacity:0}.fp-dialogue-more.is-on{opacity:1;animation:fp-bob .7s ease-in-out infinite}.fp-dialogue-count{position:absolute;right:18px;bottom:-8px;font-family:var(--font-title);font-size:8px;opacity:.5}.fp-dialogue-choices{align-self:flex-end;margin-right:max(3vw,calc((100vw - 920px)/2));margin-bottom:14px;min-width:280px;max-width:min(560px,90vw);padding:10px;display:flex;flex-direction:column;gap:4px}.fp-choice{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px 8px 30px;font-family:var(--font-body);font-size:20px;line-height:1.25;text-align:left;color:var(--ink);background:transparent;border:3px solid transparent;border-radius:6px;cursor:pointer}.fp-choice.is-focused{background:var(--butter);border-color:var(--ink)}.fp-choice-cursor{position:absolute;left:10px;top:50%;margin-top:-6px;border-left:8px solid var(--pink-deep);border-top:6px solid transparent;border-bottom:6px solid transparent;opacity:0}.fp-choice.is-focused .fp-choice-cursor{opacity:1;animation:fp-nudge .5s steps(2) infinite}.fp-choice-num{flex:none;font-family:var(--font-title);font-size:9px;padding:3px 5px 4px;border:2px solid var(--ink);border-radius:3px;background:#fff}.fp-riddle{width:min(680px,94vw);background-color:#fff4dc;background-image:radial-gradient(rgba(232,149,106,.12) 1.6px,transparent 1.8px),linear-gradient(180deg,#fff8e8,#ffecd0);background-size:16px 16px,100% 100%;box-shadow:inset 0 0 0 3px #fffaf0,inset 0 0 0 6px var(--peach),var(--shadow)}.fp-riddle .fp-modal-header{background:linear-gradient(180deg,#ffe0c7 0%,var(--peach) 100%)}.fp-riddle.is-solved{box-shadow:inset 0 0 0 3px #fffaf0,inset 0 0 0 6px var(--mint),var(--shadow)}.fp-riddle-kicker{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-title);font-size:9px;color:var(--peach-deep);margin-bottom:10px;text-align:center}.fp-riddle-text{font-size:22px;line-height:1.5;text-align:center;color:#5a3d4e;padding:14px 18px;background:#ffffff80;border:3px dashed #e8b48e;border-radius:8px;margin-bottom:12px}.fp-riddle-hints:empty{display:none}.fp-riddle-hint{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;margin:8px 0;font-size:19px;background:var(--butter);border:3px solid var(--ink);border-radius:6px;box-shadow:2px 2px 0 var(--ink)}.fp-riddle-hint canvas{margin-top:4px}.fp-riddle-hint b{flex:none;font-weight:700}.fp-riddle-row{display:flex;gap:10px;align-items:stretch;margin-top:6px}.fp-input{font-family:var(--font-body);font-size:22px;color:var(--ink);padding:10px 12px;background:#fff;border:3px solid var(--ink);border-radius:5px;box-shadow:inset 3px 3px #f1e6f7;outline:none;pointer-events:auto;-webkit-user-select:text;user-select:text;min-width:0}.fp-input:focus{box-shadow:inset 3px 3px #f1e6f7,0 0 0 3px var(--pink)}.fp-riddle-input{flex:1 1 auto}.fp-riddle-status{min-height:1.4em;margin-top:8px;font-size:19px;text-align:center}.fp-riddle-status.is-bad{color:var(--berry)}.fp-riddle-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.fp-riddle-options-label{grid-column:1 / -1;font-family:var(--font-title);font-size:10px;color:var(--lav-deep)}.fp-riddle-opt{white-space:normal;justify-content:flex-start;text-align:left}.fp-riddle-opt .fp-btn-label{font-family:var(--font-body);font-size:19px;letter-spacing:0}.fp-riddle-opt.is-wrong{--btn: #f3d6e0;--btn-deep: #d9aebd;text-decoration:line-through}.fp-riddle-solved{text-align:center;padding:10px 6px}.fp-riddle-solved-title{display:flex;align-items:center;justify-content:center;gap:12px;font-family:var(--font-title);font-size:18px;color:var(--pink-deep);text-shadow:2px 2px 0 #fff;margin-bottom:10px}.fp-riddle-answer{display:inline-block;font-family:var(--font-title);font-size:12px;line-height:1.5;padding:8px 14px;margin-bottom:10px;background:var(--mint);border:3px solid var(--ink);border-radius:999px;box-shadow:3px 3px 0 var(--ink)}.fp-quiz{width:min(720px,94vw);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px var(--lav),var(--shadow)}.fp-quiz .fp-modal-header{background:linear-gradient(180deg,#ddd0ff 0%,var(--lav) 100%)}.fp-quiz-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.fp-quiz-portrait{flex:none;width:76px;height:76px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--lav-soft) 0%,#ffd8ea 100%);border:3px solid var(--ink);border-radius:8px;box-shadow:2px 2px 0 var(--ink)}.fp-quiz-asker{font-family:var(--font-title);font-size:10px;color:var(--lav-deep);margin-bottom:6px}.fp-quiz-question{font-size:22px;line-height:1.35;font-weight:600}.fp-quiz-options{display:flex;flex-direction:column;gap:9px}.fp-quiz-option{display:flex;align-items:center;gap:12px;width:100%;padding:9px 14px;font-family:var(--font-body);font-size:19px;line-height:1.3;text-align:left;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:6px;box-shadow:inset 0 -3px #eadff3,3px 3px 0 var(--ink);cursor:pointer;transition:transform .06s ease}.fp-quiz-option:hover:not(:disabled),.fp-quiz-option.is-focused{background:var(--butter);transform:translate(4px)}.fp-quiz-option:disabled{cursor:default;opacity:.6}.fp-quiz-option.is-correct{background:var(--mint);opacity:1;box-shadow:inset 0 -3px 0 var(--mint-deep),3px 3px 0 var(--ink)}.fp-quiz-option.is-wrong{background:#ffc4d9;opacity:1;box-shadow:inset 0 -3px 0 var(--pink-deep),3px 3px 0 var(--ink)}.fp-quiz-feedback{margin-top:14px;padding:10px 14px;border:3px solid var(--ink);border-radius:8px;animation:fp-pop-in .22s ease both}.fp-quiz-feedback.is-right{background:var(--mint-soft)}.fp-quiz-feedback.is-wrong{background:#ffe6f0}.fp-quiz-verdict{display:flex;align-items:center;gap:10px;font-family:var(--font-title);font-size:11px;line-height:1.5;margin-bottom:6px}.fp-keyterm{width:min(540px,92vw);text-align:center;background-color:#fffbe6;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px var(--butter-deep),var(--shadow)}.fp-keyterm .fp-modal-content{padding-top:20px}.fp-keyterm-star{display:flex;justify-content:center;margin-bottom:8px}.fp-keyterm-icon{animation:fp-spin-bob 1.4s ease-in-out infinite}.fp-keyterm-term{font-family:var(--font-title);font-size:16px;line-height:1.5;color:var(--pink-deep);text-shadow:2px 2px 0 #fff;margin:10px 0}.fp-keyterm-def{padding:10px 14px;background:#ffffffb3;border:2px dashed var(--butter-deep);border-radius:8px}.fp-titlecard-layer{display:flex;justify-content:center;align-items:flex-start;padding-top:13vh}.fp-titlecard{animation:fp-drop .7s cubic-bezier(.2,1,.4,1) both}.fp-titlecard-layer.fp-leaving{animation:fp-fade-out .42s ease-in forwards}.fp-titlecard-layer.fp-leaving .fp-titlecard{animation:fp-titlecard-out .42s ease-in forwards}@keyframes fp-titlecard-out{to{transform:translateY(-60px) scale(.95);opacity:0}}.fp-titlecard-ribbon{position:relative;min-width:min(520px,80vw);max-width:86vw;padding:18px 46px 20px;text-align:center;background-color:var(--cream);background-image:var(--dots);background-size:14px 14px;border:3px solid var(--ink);border-radius:8px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px var(--pink),6px 6px 0 var(--ink)}.fp-titlecard-ribbon:before,.fp-titlecard-ribbon:after{content:"";position:absolute;top:26px;width:54px;height:46px;background:var(--pink);border:3px solid var(--ink);z-index:-1}.fp-titlecard-ribbon:before{left:-40px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,30% 50%)}.fp-titlecard-ribbon:after{right:-40px;clip-path:polygon(0 0,100% 0,70% 50%,100% 100%,0 100%)}.fp-titlecard-kicker{font-family:var(--font-title);font-size:11px;letter-spacing:2px;color:var(--pink-deep);margin-bottom:10px;text-transform:uppercase}.fp-titlecard-title{font-family:var(--font-title);font-size:clamp(16px,2vw,24px);line-height:1.45;color:var(--ink);text-shadow:3px 3px 0 #ffd0e6}.fp-titlecard-sub{margin-top:10px;font-size:21px;color:var(--lav-deep);font-weight:600}.fp-screen{position:absolute;top:0;right:0;bottom:0;left:0}.fp-title-screen{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6vh 16px 7vh}.fp-logo{position:relative;text-align:center;animation:fp-drop .9s cubic-bezier(.2,1,.4,1) both}.fp-logo-line{font-family:var(--font-title);font-size:clamp(30px,5.2vw,72px);line-height:1.3;letter-spacing:3px;white-space:nowrap}.fp-logo-line+.fp-logo-line{font-size:clamp(20px,3.5vw,50px);margin-top:6px}.fp-logo-letter{display:inline-block;animation:fp-wave 2.4s ease-in-out infinite;text-shadow:3px 0 0 var(--ink),-3px 0 0 var(--ink),0 3px 0 var(--ink),0 -3px 0 var(--ink),3px 3px 0 var(--ink),-3px 3px 0 var(--ink),3px -3px 0 var(--ink),-3px -3px 0 var(--ink),6px 7px 0 var(--lav-deep),7px 9px 0 var(--ink)}.fp-logo-space{display:inline-block;width:.6em}.fp-logo-sub{display:inline-block;margin-top:18px;padding:7px 18px 8px;font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:1px;background:var(--cream);border:3px solid var(--ink);border-radius:999px;box-shadow:inset 0 -3px 0 var(--pink-soft),4px 4px 0 var(--ink)}.fp-logo-sparkles{position:absolute;top:-20px;right:-50px;bottom:-20px;left:-50px;pointer-events:none}.fp-logo-spark{position:absolute;animation:fp-twinkle 1.8s ease-in-out infinite}.fp-logo-spark.s1{left:-10px;top:0}.fp-logo-spark.s2{right:0;top:10px;animation-delay:.5s}.fp-logo-spark.s3{left:20px;bottom:30px;animation-delay:.9s}.fp-logo-spark.s4{right:30px;bottom:50px;animation-delay:1.3s}.fp-title-bottom{display:flex;flex-direction:column;align-items:center;gap:18px;pointer-events:auto}.fp-press-start{font-family:var(--font-title);font-size:18px;letter-spacing:3px;color:var(--cream);text-shadow:3px 0 0 var(--ink),-3px 0 0 var(--ink),0 3px 0 var(--ink),0 -3px 0 var(--ink),3px 3px 0 var(--ink),-3px 3px 0 var(--ink),3px -3px 0 var(--ink),-3px -3px 0 var(--ink),5px 6px 0 var(--pink-deep);animation:fp-blink 1.1s steps(1) infinite}.fp-press-start.is-pressed{animation:fp-blink .16s steps(1) infinite}.fp-title-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 22px;padding:0 16px}.fp-title-footer{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:15px;white-space:nowrap;padding:2px 10px;background:#fff7efa6;border-radius:4px;opacity:.85}.fp-select-panel{position:absolute;left:2.5vw;top:50%;transform:translateY(-50%);width:min(42vw,560px);min-width:400px;max-height:94vh;overflow-y:auto;padding:18px 22px 16px}.fp-select-panel.fp-pop{animation:fp-select-in .35s cubic-bezier(.2,1.3,.4,1) both}@keyframes fp-select-in{0%{transform:translate(-40px,-50%);opacity:0}to{transform:translateY(-50%);opacity:1}}.fp-select-screen.fp-leaving .fp-select-panel{animation:fp-fade-out .2s ease-in forwards}.fp-select-title{display:flex;align-items:center;justify-content:center;gap:10px;margin:2px 0 14px;font-family:var(--font-title);font-size:13px;line-height:1.5;text-align:center}.fp-species-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.fp-species-tile{position:relative;display:flex;flex-direction:column;align-items:center;padding:7px 2px 6px;font-family:var(--font-title);color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:8px;box-shadow:inset 0 -3px #eadff3,3px 3px 0 var(--ink);cursor:pointer;transition:transform .08s ease}.fp-species-tile:hover{background:var(--butter);transform:translateY(-2px)}.fp-species-tile.is-selected{background:var(--pink-soft);box-shadow:inset 0 -3px 0 var(--pink),inset 0 0 0 3px var(--pink),3px 3px 0 var(--ink);transform:translateY(-3px)}.fp-species-tile.is-selected:after{content:"";position:absolute;top:-9px;right:-9px;width:16px;height:16px;background:var(--pink-deep);border:3px solid var(--ink);border-radius:50%;box-shadow:inset -2px -2px #00000026}.fp-species-portrait{width:56px;height:56px}.fp-species-name{margin-top:4px;font-size:8px}.fp-select-info{margin:14px 0 4px;padding:10px 12px;background:#ffffffb3;border:2px dashed var(--lav);border-radius:8px}.fp-select-species{font-family:var(--font-title);font-size:14px;color:var(--pink-deep);margin-bottom:6px}.fp-select-blurb{font-size:19px}.fp-select-label{font-family:var(--font-title);font-size:10px;color:var(--lav-deep);margin:14px 0 8px}.fp-swatches{display:flex;gap:12px;flex-wrap:wrap}.fp-swatch{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;background:#fff;border:3px solid var(--ink);border-radius:8px;box-shadow:inset 0 -3px #eadff3,3px 3px 0 var(--ink);cursor:pointer;color:var(--ink);transition:transform .08s ease}.fp-swatch:hover{transform:translateY(-2px)}.fp-swatch.is-selected{background:var(--butter);transform:translateY(-3px);box-shadow:inset 0 -3px 0 var(--butter-deep),3px 3px 0 var(--ink)}.fp-swatch-num{font-family:var(--font-title);font-size:9px}.fp-swatch-dots{display:flex}.fp-swatch-dots i{display:block;width:20px;height:20px;margin-left:-4px;border:3px solid var(--ink);border-radius:4px}.fp-swatch-dots i:first-child{margin-left:0}.fp-name-input{width:100%}.fp-select-actions{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px}.fp-preview-tag{position:absolute;left:72.5vw;bottom:7vh;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:9px 18px 10px 12px;white-space:nowrap;animation:fp-bob 2s ease-in-out infinite}.fp-preview-name{font-family:var(--font-title);font-size:13px}.fp-preview-kind{font-size:20px;color:var(--lav-deep);font-weight:600}.fp-settings{display:flex;flex-direction:column;gap:4px}.fp-setting{display:grid;grid-template-columns:130px 1fr 64px;align-items:center;gap:12px;margin:8px 0}.fp-setting>:nth-child(2):last-child{grid-column:2 / span 2;justify-self:start}.fp-setting-label,.fp-setting-value{font-family:var(--font-title);font-size:10px;line-height:1.4}.fp-setting-value{text-align:right}.fp-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:16px;background:linear-gradient(90deg,var(--lav-soft),var(--pink-soft));border:3px solid var(--ink);border-radius:999px;outline:none;cursor:pointer;pointer-events:auto}.fp-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;background:var(--pink);border:3px solid var(--ink);border-radius:5px;box-shadow:inset 0 -3px 0 var(--pink-deep);cursor:pointer}.fp-range::-moz-range-thumb{width:18px;height:18px;background:var(--pink);border:3px solid var(--ink);border-radius:5px;cursor:pointer}.fp-toggle{position:relative;width:92px;height:36px;padding:0;background:#eadff3;border:3px solid var(--ink);border-radius:999px;box-shadow:inset 0 3px #3b2a4a1f,2px 2px 0 var(--ink);cursor:pointer;pointer-events:auto}.fp-toggle.is-on{background:var(--mint)}.fp-toggle-knob{position:absolute;top:4px;left:4px;width:22px;height:22px;background:#fff;border:3px solid var(--ink);border-radius:6px;transition:left .12s ease}.fp-toggle.is-on .fp-toggle-knob{left:calc(100% - 30px)}.fp-toggle-text{position:absolute;top:50%;transform:translateY(-50%);right:12px;font-family:var(--font-title);font-size:9px;color:var(--ink)}.fp-toggle.is-on .fp-toggle-text{right:auto;left:12px}.fp-seg{display:flex;flex-wrap:wrap;gap:8px}.fp-seg-btn{font-family:var(--font-title);font-size:9px;padding:8px 10px 10px;color:var(--ink);background:#fff;border:3px solid var(--ink);border-radius:5px;box-shadow:inset 0 -3px #eadff3,2px 2px 0 var(--ink);cursor:pointer;pointer-events:auto}.fp-seg-btn.is-on{background:var(--pink);box-shadow:inset 0 -3px 0 var(--pink-deep),2px 2px 0 var(--ink)}.fp-controls-row{display:flex;align-items:center;gap:16px;padding:7px 0;border-bottom:2px dotted #e6d6f0}.fp-controls-row:last-child{border-bottom:0}.fp-controls-keys{display:flex;flex-wrap:wrap;gap:5px;min-width:170px}.fp-controls-label{font-size:19px}.fp-pause{width:min(840px,94vw)}.fp-pause-grid{display:grid;grid-template-columns:230px 1fr;gap:20px;align-items:start}.fp-pause-menu{display:flex;flex-direction:column;gap:12px;padding:4px 4px 4px 18px}.fp-pause-menu .fp-btn{width:100%}.fp-pause-menu .fp-btn.is-active{--btn: var(--butter);--btn-deep: var(--butter-deep)}.fp-pause-panel{min-height:280px;padding:14px 18px;background:#ffffffa6;border:3px dashed var(--lav);border-radius:10px}.fp-pause-stats{display:flex;flex-direction:column;gap:12px;margin:8px 0 14px}.fp-pause-stat{display:flex;align-items:center;gap:12px;font-size:21px}.fp-complete-screen{display:flex;align-items:center;justify-content:center;pointer-events:auto;padding:16px}.fp-complete{text-align:center;overflow-y:auto;padding:16px 28px 8px;width:min(860px,94vw);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px var(--mint),var(--shadow)}.fp-complete-kicker{font-family:var(--font-title);font-size:12px;letter-spacing:2px;color:var(--pink-deep);margin-top:6px;text-transform:uppercase}.fp-complete-title{margin:12px 0 6px;font-family:var(--font-title);font-size:clamp(16px,2vw,22px);line-height:1.5;text-shadow:3px 3px 0 var(--pink-soft)}.fp-complete-sub{font-size:19px;color:var(--lav-deep);font-weight:600}.fp-rating{display:flex;justify-content:center;gap:22px;margin:16px 0 14px}.fp-rating-star{position:relative;filter:grayscale(1) brightness(1.3);opacity:.35;transform:scale(.85);transition:opacity .2s ease}.fp-rating-star.is-on{filter:none;opacity:1;animation:fp-star-pop .45s cubic-bezier(.2,1.4,.4,1) both}.fp-stat-tiles{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.fp-stat-tile{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:128px;padding:10px 14px;background:#fff;border:3px solid var(--ink);border-radius:8px;box-shadow:inset 0 -3px #eadff3,3px 3px 0 var(--ink)}.fp-stat-tile.is-good{background:var(--mint-soft)}.fp-stat-value{font-family:var(--font-title);font-size:15px}.fp-stat-label{font-size:16px;opacity:.85}.fp-takeaways-box{text-align:left;margin:18px auto 4px;max-width:740px;padding:12px 18px;background:#fff1a873;border:3px dashed var(--butter-deep);border-radius:10px}.fp-takeaways{list-style:none;margin:0;padding:0}.fp-takeaways li{display:flex;align-items:flex-start;gap:10px;margin:8px 0;font-size:19px;line-height:1.35}.fp-takeaways li canvas{margin-top:5px}.fp-cert-layer{display:flex;align-items:center;justify-content:center;pointer-events:auto}.fp-cert-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;max-height:100vh;overflow-y:auto;padding:16px}.fp-cert{position:relative;width:min(920px,94vw);padding:12px;background-color:var(--cream);background-image:var(--dots);background-size:14px 14px;border:4px solid var(--ink);border-radius:8px;box-shadow:8px 8px 0 var(--ink);-webkit-user-select:text;user-select:text}.fp-cert-inner{position:relative;padding:22px 40px 20px;text-align:center;background:linear-gradient(180deg,#fffdf9,#fff4f9);border:5px solid var(--lav);border-radius:6px;outline:3px dashed var(--pink);outline-offset:-14px}.fp-cert-top{display:flex;justify-content:center;gap:12px;margin-bottom:8px}.fp-cert-kicker{font-family:var(--font-title);font-size:10px;letter-spacing:2px;color:var(--lav-deep);text-transform:uppercase}.fp-cert-title{margin:12px 0 10px;font-family:var(--font-title);font-size:clamp(18px,2.4vw,28px);line-height:1.4;color:var(--pink-deep);text-shadow:3px 3px 0 #ffd6e8;font-weight:400}.fp-cert-body{font-size:20px;line-height:1.4;max-width:640px;margin:0 auto}.fp-cert-namerow{display:flex;align-items:center;justify-content:center;gap:20px;margin:10px 0 12px}.fp-cert-portrait{width:104px;height:104px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--lav-soft) 0%,#ffd8ea 100%);border:3px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink)}.fp-cert-name{font-family:var(--font-title);font-size:clamp(20px,3vw,34px);line-height:1.4;padding:6px 16px 10px;border-bottom:4px solid var(--pink)}.fp-cert-award{display:inline-block;margin:12px 0 4px;padding:11px 18px 12px;font-family:var(--font-title);font-size:clamp(11px,1.5vw,16px);line-height:1.4;background:var(--mint);border:3px solid var(--ink);border-radius:8px;box-shadow:inset 0 -4px 0 var(--mint-deep),4px 4px 0 var(--ink)}.fp-cert-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:16px 0 10px}.fp-cert-stat{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:110px;padding:8px 12px;background:var(--cream);border:2px solid var(--ink);border-radius:6px}.fp-cert-stat b{font-family:var(--font-title);font-size:13px;font-weight:400}.fp-cert-stat span{font-size:16px}.fp-cert-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:10px}.fp-cert-sign{width:36%}.fp-cert-sign-line{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding-bottom:4px;border-bottom:3px solid var(--ink)}.fp-cert-script{white-space:nowrap;font-size:20px;font-weight:700;color:var(--lav-deep)}.fp-cert-date{font-size:20px;font-weight:600}.fp-cert-sign-label{margin-top:6px;font-family:var(--font-title);font-size:9px;letter-spacing:1px}.fp-cert-seal{flex:none;width:92px;height:92px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#fff8cc 0%,var(--butter) 70%);border:4px solid var(--ink);border-radius:50%;box-shadow:0 0 0 6px var(--pink),0 0 0 9px var(--ink);animation:fp-spin-bob 3s ease-in-out infinite}.fp-cert-actions{display:flex;gap:18px;justify-content:center}@media(max-width:1100px){.fp-hud-obj{width:250px}.fp-hud-obj-list li{font-size:18px}.fp-select-panel{min-width:380px;width:44vw;padding:14px 16px}.fp-species-portrait{width:48px;height:48px}.fp-species-portrait canvas{width:48px!important;height:48px!important}}@media(max-width:780px){.fp-pause-grid,.fp-riddle-options,.fp-grid-2{grid-template-columns:1fr}.fp-setting{grid-template-columns:100px 1fr 52px}.fp-select-panel{left:50%;transform:translate(-50%,-50%);width:94vw;min-width:0}.fp-preview-tag{display:none}.fp-title-footer{white-space:normal;width:92vw;text-align:center}}@media(max-height:760px){.fp-dialogue{min-height:130px}.fp-dialogue-text{font-size:21px}.fp-title-screen{padding-top:4vh}}@media(prefers-reduced-motion:reduce){#ui-root *,#ui-root *:before,#ui-root *:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{size:landscape;margin:10mm}html,body{overflow:visible!important;height:auto!important;background:#fff!important}body *{visibility:hidden!important}.fp-cert,.fp-cert *{visibility:visible!important}.fp-cert{position:fixed!important;left:0!important;top:0!important;width:100%!important;box-shadow:none!important;animation:none!important;transform:none!important}.fp-cert .fp-burst{display:none!important}.fp-cert-seal{animation:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.fp-cert-actions{position:sticky;bottom:0;z-index:2;padding:6px 12px 4px}@media(max-height:820px){.fp-cert-wrap{gap:10px;padding:10px}.fp-cert-inner{padding:14px 32px}.fp-cert-title{margin:6px 0}.fp-cert-namerow{margin:4px 0 6px}.fp-cert-portrait{width:84px;height:84px}.fp-cert-portrait canvas{width:72px!important;height:72px!important}.fp-cert-body{font-size:18px}.fp-cert-stats{margin:10px 0 6px}.fp-cert-seal{width:72px;height:72px}.fp-cert-seal canvas{width:42px;height:42px}}
