.fk{--ink: #17150f;--panel: #fffdf6;--well: #f6f2e4;--green: #5f7f3e;--yellow: #f2cf55;--orange: #e8782a;--red: #b8321f;--muted: #6b6558;--line: #ddd7c4;box-sizing:border-box;margin:18px 0;font-family:Archivo,system-ui,-apple-system,sans-serif;color:var(--ink)}.fk *,.fk *:before,.fk *:after{box-sizing:border-box}:where(.fk) :is(p,h3,h4,b,label,small,span,figcaption,li){color:inherit}.fk :focus-visible{outline:3px solid var(--orange);outline-offset:2px}.fk-panel{padding:16px;background:var(--panel);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink)}.fk-title{margin:0 0 10px;font:400 22px/1.15 Bevan,Georgia,serif}.fk .fk-note{margin:8px 0 0;padding:8px 12px;max-width:46ch;font-size:16px;background:var(--well);border-left:4px solid var(--orange);text-align:left}.fk-note a{font-weight:800;color:var(--green)}.fk button,.fk-btn,.fk-share a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:8px 16px;font:700 16px Archivo,sans-serif;color:var(--ink);text-decoration:none;background:var(--panel);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);cursor:pointer}.fk button:disabled{opacity:.55;cursor:wait}.fk .fk-go{width:100%;min-height:56px;font-size:20px;background:var(--yellow)}.fk .fk-link{min-height:44px;padding:4px 0;background:none;border:0;box-shadow:none;color:var(--green);text-decoration:underline}.fk-stage{margin-top:18px;padding:16px;text-align:center;background:var(--panel);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);position:relative;overflow:hidden;scroll-margin-top:16px}.fk-stage[hidden]{display:none}.fk .fk-stage p,.fk .fk-stage h3,.fk .fk-stage figure{margin:0}.fk-calc{margin:10px 0 0;font-weight:800;font-size:18px}.fk-meter{position:relative;width:min(100%,360px);margin:0 auto;padding-bottom:26px;overflow:hidden}.fk-dial{position:relative;z-index:1;display:block;width:100%;height:auto;overflow:visible}.fk-needle{transform-origin:100px 100px;transform:rotate(-90deg);transition:transform 1.1s cubic-bezier(.3,1.6,.5,1)}.is-wobble .fk-needle{animation:fk-wobble .35s ease-in-out infinite alternate;transition:none}@keyframes fk-wobble{0%{transform:rotate(-82deg)}to{transform:rotate(-62deg)}}.fk-clouds{position:absolute;inset:0;z-index:0;pointer-events:none}.fk-clouds i{position:absolute;bottom:0;width:18%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d8f0a8,#8fbf4a 70%);border:3px solid var(--ink);opacity:.55;left:calc(8% + var(--i) * 14%);transform-origin:50% 100%;transform:translateY(0) scale(calc(.2 + var(--f, 0) * .9));transition:transform 1s ease-out}.fk-clouds i:nth-child(2n){width:14%}.fk-clouds i:nth-child(3n){width:22%;background:radial-gradient(circle at 35% 30%,#f3ffd0,#a9d65c 70%)}.fk-clouds i:nth-child(4n){width:11%}.is-calculating .fk-clouds i{animation:fk-bubble 1.2s ease-in-out infinite alternate;animation-delay:calc(var(--i) * .12s)}@keyframes fk-bubble{to{transform:translateY(-10px) scale(calc(.35 + var(--f, 0) * .9))}}.fk-react{margin:6px 0 0;display:grid;justify-items:center;gap:0}.fk-react img{width:calc(210px * var(--s, 1));height:auto;max-height:290px;object-fit:contain;filter:drop-shadow(0 4px 0 rgba(23,21,15,.25))}.fk-react figcaption{margin-top:10px;position:relative;padding:6px 14px;background:var(--well);border:2px solid var(--ink);border-radius:18px;font-size:15px}.fk-puff{position:absolute;left:50%;top:46%;width:0;height:0;pointer-events:none}.fk-puff i{position:absolute;width:56px;height:56px;margin:-28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f3ffd0,#a9d65c 70%);border:3px solid var(--ink);animation:fk-puff .9s ease-out both;animation-delay:calc(var(--i) * .03s);--a: calc(var(--i) * 45deg)}@keyframes fk-puff{0%{opacity:1;transform:rotate(var(--a)) translate(0) scale(.4)}to{opacity:0;transform:rotate(var(--a)) translate(150px) scale(1.7)}}.fk-stage:not(.is-done) .fk-puff{display:none}.is-done .fk-pop>*{animation:fk-pop .5s cubic-bezier(.3,1.5,.5,1) both}.is-done .fk-pop>:nth-child(2){animation-delay:.08s}.is-done .fk-pop>:nth-child(3){animation-delay:.16s}.is-done .fk-pop>:nth-child(4){animation-delay:.24s}@keyframes fk-pop{0%{opacity:0;transform:translateY(12px) scale(.9)}}.fk-share{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:10px}.fk-share b{flex-basis:100%;font-size:16px}.fk-share button,.fk .fk-share a{flex:1 1 130px;max-width:160px;color:var(--ink)}.fk .fk-share a:hover{background:var(--yellow)}.fk-status{font-size:14px;color:var(--muted)}@media(max-width:480px){.fk-share{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fk-share b,.fk-share .fk-status{grid-column:1 / -1}.fk .fk-share button,.fk .fk-share a{width:100%;flex:none;max-width:none}}.fk input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer}.fk input[type=range]::-webkit-slider-runnable-track{height:12px;background:var(--ink);border-radius:6px}.fk input[type=range]::-moz-range-track{height:12px;background:var(--ink);border-radius:6px}.fk input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;margin-top:-10px;background:var(--orange);border:3px solid var(--ink);border-radius:50%}.fk input[type=range]::-moz-range-thumb{width:26px;height:26px;background:var(--orange);border:3px solid var(--ink);border-radius:50%}.fk input[type=number],.fk input[type=date],.fk input[type=text]{min-height:44px;padding:6px 8px;font:700 18px Archivo,sans-serif;color:var(--ink);background:#fff;border:2px solid var(--ink)}@media(prefers-reduced-motion:reduce){.fk *,.fk *:before,.fk *:after{animation:none!important;transition:none!important}.fk-puff{display:none}}.fk .fk-share a{text-decoration:none!important}.fcx{max-width:720px}.fcx-form{display:grid;gap:12px}.fcx-row{display:grid;gap:6px}.fcx-row label{font-size:16px;font-weight:800}.fcx-pick{display:grid;grid-template-columns:1fr 78px 72px;gap:10px;align-items:center;font-size:14px;color:var(--muted)}.fcx-pick input[type=number]{width:78px}.fcx-result{display:grid;gap:10px;justify-items:center;margin-top:14px}.fcx-kicker{margin:0;font-size:15px;font-weight:700;color:var(--muted)}.fcx-count{margin:0;font-size:18px;font-weight:700}.fcx-count b{display:block;margin:4px 0;font:400 64px/1 Bevan,Georgia,serif;color:var(--orange)}.fcx-rank{margin:0;font:400 26px/1.15 Bevan,Georgia,serif}.fcx-rank small{display:block;margin-top:4px;font:600 14px Archivo,sans-serif;color:var(--muted)}.fcx-verdict{margin:0;max-width:46ch;font-size:17px;line-height:1.4}@media(max-width:480px){.fcx-pick{grid-template-columns:1fr 74px}.fcx-pick span{display:none}.fcx-count b{font-size:54px}}
