body:has(.ft-game),html:has(.ft-game){background:#e8ee74;color-scheme:light}.ft-game{--ft-paper:#e8ee74;--ft-ink:#242317;--ft-orange:#f57c46;color:var(--ft-ink);background:radial-gradient(ellipse at 50% 35%,#f6f7a2 0,transparent 65%),radial-gradient(#555c241a .7px,transparent .7px),var(--ft-paper);background-size:auto,5px 5px,auto;min-height:100vh;min-height:100dvh;padding:max(8px,env(safe-area-inset-top)) 24px max(8px,env(safe-area-inset-bottom));display:flex;flex-direction:column;font-family:Avenir Next,Trebuchet MS,sans-serif}.ft-game *{box-sizing:border-box}.ft-dialog button,.ft-game button{touch-action:manipulation;cursor:pointer}.ft-game button:disabled{cursor:default}.ft-dialog :focus-visible,.ft-game :focus-visible{outline:3px solid #242317;outline-offset:4px}.ft-nav{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1080px;margin:0 auto;min-height:44px;font:12px/1.2 Courier New,monospace;flex-shrink:0}.ft-nav a{text-decoration:underline;text-underline-offset:4px;padding:14px 0}.ft-nav>button{border:2px solid;border-radius:50%;width:36px;height:36px;font-size:21px;font-weight:700}.ft-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}.ft-brand{text-align:center;padding:8px 0 20px;animation:ft-arrive .5s both}.ft-brand h1{position:relative;font-family:Impact,Helvetica Neue,sans-serif;font-weight:950;font-stretch:condensed;font-size:clamp(70px,10vw,112px);line-height:.92;letter-spacing:-.065em;transform:scaleX(.88) rotate(-3deg);margin:0}.ft-brand h1>span{font:16px/1 Courier New,monospace;position:absolute;top:0;margin-left:6px}.ft-brand p{font:700 11px/1.2 Courier New,monospace;letter-spacing:.3em;margin:11px 0 0}.ft-play{width:min(100%,390px)}.ft-meter{display:flex;justify-content:space-between;font:700 11px/1.4 Courier New,monospace;padding:0 1px 8px}.ft-room{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);background:#faf4bf;border:3px solid var(--ft-ink);box-shadow:6px 6px 0 var(--ft-ink);animation:ft-arrive .5s .08s both}.ft-bean,.ft-furniture{position:relative;border-right:1px solid #24231738;border-bottom:1px solid #24231738;min-height:0;min-width:0;padding:6px;display:flex;justify-content:center;align-items:center}.ft-room>:nth-child(5n){border-right:0}.ft-room>:nth-child(n+21){border-bottom:0}.ft-bean{background:transparent;color:#f6bd79;transition:background .15s}.ft-bean:nth-child(3n){color:#e9a27e}.ft-bean:nth-child(3n+1){color:#f4cf89}.ft-bean svg{width:85%;height:90%;pointer-events:none;transition:transform .18s}.ft-bean.ft-selected{background:#e8ee74;box-shadow:inset 0 0 0 3px var(--ft-ink)}.ft-selected svg{transform:rotate(-10deg) translateY(-3px)}.ft-coordinate{position:absolute;top:3px;left:4px;color:#242317;font:9px/1 Courier New,monospace}.ft-furniture{background:var(--ft-orange);color:var(--ft-ink)}.ft-furniture svg{width:90%;height:90%;pointer-events:none}.ft-cleared svg{opacity:.23}.ft-cross{position:absolute;right:5px;bottom:2px;font:25px/1 Courier New,monospace;color:#595538}.ft-caught{background:var(--ft-orange);box-shadow:inset 0 0 0 3px var(--ft-ink)}.ft-reading{color:var(--ft-ink);font:900 32px/.9 Courier New,monospace;display:flex;flex-direction:column;align-items:center;animation:ft-puff .3s ease-out}.ft-reading small{font:700 8px/1.2 Courier New,monospace;margin-top:5px;letter-spacing:.08em}.ft-key{display:flex;justify-content:space-between;font:10px/1.4 Courier New,monospace;margin-top:13px}.ft-status{font-size:13px;line-height:1.35;min-height:36px;margin:12px 0 7px;text-align:center}.ft-sniff,.ft-status{display:flex;align-items:center;justify-content:center}.ft-sniff{background:#242317;color:#f7f6ba;min-height:48px;width:100%;font:700 15px/1.2 Avenir Next,Trebuchet MS,sans-serif;padding:12px 16px;gap:20px;border:2px solid #242317;transition:transform .12s,background .12s}.ft-sniff>span{font:25px/.6 Courier New,monospace}.ft-sniff:disabled{background:transparent;color:#55552f;border-color:#74764a}.ft-sniff:not(:disabled):active{transform:translateY(2px)}.ft-bottom{min-height:42px;display:flex;justify-content:space-between;align-items:center;gap:10px;font:10px/1.3 Courier New,monospace}.ft-bottom button{min-height:42px;text-decoration:underline;text-underline-offset:3px}.ft-footer{flex-shrink:0;text-align:center;margin-top:10px;font-size:12px;line-height:24px}.ft-footer a{text-decoration:underline;text-underline-offset:3px}.ft-newday{width:100%;text-decoration:underline;font-size:12px;min-height:32px}.ft-warning{font:11px/1.4 Courier New,monospace;text-align:center}.ft-overlay{position:fixed;inset:0;z-index:90;background:#24231799;backdrop-filter:blur(3px)}.ft-dialog{position:fixed;z-index:91;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow-y:auto;background:#f6f3c1;color:#242317;border:3px solid #242317;box-shadow:7px 7px 0 #242317;padding:30px 24px 24px;font:14px/1.5 Avenir Next,Trebuchet MS,sans-serif;color-scheme:light}.ft-dialog h2{font:900 30px/1.05 Avenir Next,Trebuchet MS,sans-serif;letter-spacing:-1.1px;padding-right:26px;margin-bottom:14px}.ft-close{position:absolute;right:7px;top:7px;width:40px;height:40px;font:30px/1 Courier New,monospace}.ft-rules p{margin:16px 0}.ft-result-bean{height:140px;color:#f6bd79;margin:20px 0 5px}.ft-result-bean svg{height:100%;width:100%}.ft-result-date{text-align:center;font:12px/1.4 Courier New,monospace;margin-bottom:20px}.ft-inspect{width:100%;min-height:44px;text-decoration:underline;margin-top:5px}.ft-dialog textarea{width:100%;min-height:135px;padding:12px;margin-top:20px;border:1px solid #242317;background:#fffbe1;font:14px/1.6 Courier New,monospace;color:#242317}@media (hover:hover){.ft-bean:not(:disabled):hover{background:#e8ee74}.ft-bean:not(:disabled):hover svg{transform:rotate(-7deg)}}@media (max-width:600px){.ft-game{height:100vh;height:100dvh;min-height:568px;padding-left:18px;padding-right:18px}.ft-main{justify-content:center}.ft-brand{padding:4px 0 14px}.ft-brand h1{font-size:76px}.ft-play{width:min(100%,340px,calc(100dvh - 400px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)))}.ft-footer{margin-top:0}}@media (max-width:600px) and (max-height:620px){.ft-game{padding-top:max(4px,env(safe-area-inset-top))}.ft-brand{padding:2px 0 9px}.ft-brand h1{font-size:60px}.ft-brand p{margin-top:7px;font-size:10px}.ft-play{width:min(100%,calc(100dvh - 346px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)))}.ft-meter{padding-bottom:5px;font-size:10px}.ft-key{margin-top:10px;font-size:9px}.ft-status{margin:5px 0;font-size:12px;min-height:32px}.ft-bottom{font-size:9px}.ft-bottom,.ft-bottom button{min-height:36px}.ft-sniff{min-height:44px;padding:9px}}@media (max-width:600px) and (max-height:540px){.ft-game{height:auto;min-height:100dvh}.ft-play{width:min(100%,300px)}}@media (min-width:601px) and (max-height:820px){.ft-brand h1{font-size:78px}.ft-brand{padding:3px 0 12px}.ft-play{max-width:330px}}@keyframes ft-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ft-puff{0%{opacity:.2;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.ft-dialog *,.ft-game *{animation:none!important;transition:none!important}}@media (max-width:600px) and (min-height:541px){.ft-game:has(.ft-newday) .ft-play,.ft-game:has(.ft-warning) .ft-play{width:min(100%,310px,calc(100dvh - 438px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)))}}.ft-reading{padding-top:8px;line-height:1}.ft-reading small{display:none}@media (max-width:600px) and (max-height:620px){.ft-reading{font-size:26px}}@media (max-width:600px) and (min-height:541px) and (max-height:620px){.ft-game:has(.ft-newday) .ft-play,.ft-game:has(.ft-warning) .ft-play{width:min(100%,calc(100dvh - 346px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)))}.ft-game:has(.ft-newday) .ft-brand,.ft-game:has(.ft-warning) .ft-brand{padding:0}.ft-game:has(.ft-newday) .ft-brand h1,.ft-game:has(.ft-warning) .ft-brand h1{font-size:40px}.ft-game:has(.ft-newday) .ft-brand p,.ft-game:has(.ft-warning) .ft-brand p{margin-top:4px;font-size:9px}}.ft-bottom>button{flex-shrink:0;white-space:nowrap}.ft-bottom>span{white-space:nowrap;text-align:right}.ft-bottom>button:disabled{opacity:.5;text-decoration:none}