@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#202723;background:#f8faf3;font-synthesis:none;--ink:#202723;--lime:#cbe35d;--line:#dce1d5;--happy:#b8d949;--angry:#e97752;--frame:0;--column:0}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #715ce7;outline-offset:5px}button:disabled{cursor:wait}a{color:inherit;text-decoration:none}.game-shell{max-width:1300px;padding:0 48px;margin:auto}.topbar{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:700;letter-spacing:-.5px}.brand small{display:block;font:600 10px 'DM Sans',sans-serif;letter-spacing:1.3px;margin-top:5px}.brand-mark{height:44px;width:44px;background:var(--lime);border:2px solid var(--ink);border-radius:13px;display:grid;place-items:center;font-size:38px;line-height:1;padding-bottom:6px;transform:rotate(-7deg)}.top-controls{display:flex;gap:10px}.utility{font-size:13px;border:1px solid var(--line);background:transparent;border-radius:100px;padding:9px 15px}.utility:hover{border-color:var(--ink)}.utility[aria-pressed=true]{background:var(--ink);color:white}.intro{display:flex;justify-content:space-between;align-items:center;padding:32px 0 26px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;margin:0 0 9px}h1{font-family:'Space Grotesk',sans-serif;letter-spacing:-3px;font-size:60px;line-height:1.05;margin:0;font-weight:700}.title-star{font-size:43px;color:#90ae2e;display:inline-block;margin-left:17px;vertical-align:8px}.session-badge{font-size:10px;font-weight:700;letter-spacing:1.5px;text-align:right}.session-badge span{display:block;font:500 24px 'Space Grotesk',sans-serif;letter-spacing:1px;margin-top:5px}.game-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(275px,1fr);gap:24px}.habitat{height:475px;position:relative;overflow:hidden;border-radius:20px;border:2px solid var(--ink);background:#e3efbc;background-image:radial-gradient(#344e3210 .8px,transparent .8px);background-size:10px 10px;transition:background-color .6s}.habitat:after{content:'';position:absolute;bottom:0;left:0;right:0;height:85px;background:#c7df80;border-top:2px solid #94ae5850;z-index:0}.habitat.is-angry{background-color:#f7d0bd}.habitat.is-angry:after{background-color:#eaae87}.habitat.is-sleeping{background-color:#d0d1e7}.habitat.is-sleeping:after{background-color:#b9b8d4}.stage-top{position:absolute;top:21px;left:23px;right:23px;display:flex;justify-content:space-between;gap:8px;align-items:center;z-index:4}.habitat-label{font-size:10px;letter-spacing:1.2px;font-weight:700}.habitat-label span{color:#61764a;margin-left:6px}.mood-pill{background:#ffffffab;border:1px solid #8ca75c70;border-radius:40px;padding:7px 11px;font-size:12px;font-weight:600}.speech{position:absolute;z-index:5;top:73px;left:50%;transform:translateX(-50%) rotate(-2deg);width:max-content;max-width:85%;min-width:190px;padding:13px 23px;border:2px solid var(--ink);border-radius:13px;background:#fffef6;text-align:center;font-family:'Space Grotesk',sans-serif;font-size:17px;line-height:1.35;box-shadow:3px 4px 0 #20272318}.speech:after{content:'';position:absolute;left:55%;bottom:-8px;width:13px;height:13px;background:#fffef6;border-bottom:2px solid var(--ink);border-right:2px solid var(--ink);transform:rotate(45deg)}.character-area{position:absolute;bottom:46px;left:0;right:0;height:300px;z-index:2}.character-shadow{position:absolute;bottom:0;left:50%;width:160px;height:18px;border-radius:50%;background:#29441826;transform:translateX(-50%);filter:blur(2px)}.character{position:absolute;left:50%;bottom:0;width:280px;height:285px;margin-left:-140px;background:transparent;border:0;padding:0;transform-origin:50% 98%;animation:idle 2.4s steps(2,end) infinite;--body-width:200px;--head-top:6px;--head-width:112px;--body-bottom:-12px;--head-height:164px}.body-sprite{position:absolute;display:block;width:var(--body-width);height:var(--body-width);left:50%;bottom:var(--body-bottom);transform:translateX(-50%);background-image:url('assets/fella-bodies.png');background-repeat:no-repeat;background-size:200% 300%;background-position:calc(var(--column)*100%) calc(var(--frame)*50%);mix-blend-mode:multiply;filter:contrast(1.05);transition:width 1s,height 1s}.photo-head{position:absolute;width:var(--head-width);height:var(--head-height);top:var(--head-top);left:50%;margin-left:calc(var(--head-width)/-2);filter:drop-shadow(1px 1px 0 #20272360);transform-origin:50% 88%;transition:top 1s,width 1s,height 1s;z-index:3}.photo-piece{position:absolute;inset:0;background-image:url('assets/fella-photo.png');background-size:341.88% 233.92%;background-position:50.18% 9.61%;background-repeat:no-repeat}.upper-face{clip-path:polygon(31% 3%,66% 2%,82% 7%,92% 15%,96% 29%,95% 49%,100% 54%,98% 67%,0 67%,1% 53%,8% 47%,6% 25%,15% 11%);transform-origin:90% 65%}.lower-face{clip-path:polygon(0 66%,98% 66%,90% 79%,84% 90%,65% 100%,41% 100%,24% 93%,13% 83%,4% 71%);transform-origin:90% 67%}.mouth-gap{position:absolute;left:5%;right:5%;top:64%;height:15%;background:#30211d;clip-path:polygon(0 0,100% 0,87% 100%,16% 100%)}.character.growing{--body-width:230px;--head-top:-7px;--head-width:113px;--head-height:165px}.character.adult{--column:1;--body-width:253px;--head-top:-26px;--head-width:111px;--head-height:162px}.character.happy{--frame:1;animation:happy-hop .38s steps(2,end) infinite}.character.angry{--frame:2;animation:tantrum .17s steps(2,end) infinite}.character.speaking .upper-face{animation:mouth-top .19s steps(2,end) infinite}.character.speaking .lower-face{animation:mouth-bottom .19s steps(2,end) infinite}.character.sleeping{animation:sleeping 3s ease-in-out infinite;filter:brightness(.83)}.effect{position:absolute;top:70px;left:calc(50% + 110px);font-size:28px;font-weight:700;pointer-events:none}.effect.active{animation:float-up 2.4s ease-out both}.shown-item{position:absolute;bottom:60px;left:calc(50% + 90px);height:100px;min-width:80px;font-size:62px;display:grid;place-items:center;transform:rotate(9deg);opacity:0;transition:opacity .2s}.shown-item.visible{opacity:1;animation:item-enter .35s ease-out}.shown-item img{width:90px;height:90px;object-fit:contain;filter:drop-shadow(2px 3px 0 #20272330)}.shown-item .bottle-label{font-size:14px;background:#657c2e;color:#fff0af;padding:21px 8px 11px;border-radius:5px 5px 11px 11px;border:2px solid var(--ink);font-weight:800;letter-spacing:1px}.stage-bottom{position:absolute;z-index:3;left:22px;right:22px;bottom:17px;display:flex;justify-content:space-between;gap:20px;font-size:9px;font-weight:700;letter-spacing:.5px}.stage-bottom span:last-child{text-align:right;color:#43562f}.needs-panel{padding:23px 24px;background:white;border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}h2{font-family:'Space Grotesk',sans-serif;font-size:20px;letter-spacing:-.5px;margin:0}.panel-heading>span{font-size:11px;background:#edf2e6;padding:5px 7px;border-radius:5px;white-space:nowrap}.need{margin-bottom:15px}.need-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-bottom:7px}.need-label output{font-family:'Space Grotesk',sans-serif;font-size:12px;color:#75816f}.need-track{height:7px;background:#f0f2eb;border-radius:20px;overflow:hidden}.need-fill{height:100%;border-radius:20px;transition:width .45s,background .45s;background:var(--need-color)}.growth{margin:3px 0 16px;padding:12px 14px;background:#f6f8ef;border-radius:10px}.growth>div{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.growth progress{width:100%;height:5px;display:block;border:0;margin-top:9px;border-radius:6px;overflow:hidden;appearance:none}.growth progress::-webkit-progress-bar{background:#e2e6d7}.growth progress::-webkit-progress-value{background:#758d39}.growth progress::-moz-progress-bar{background:#758d39}.growth p{font-size:11px;color:#75816f;margin:6px 0 0}.diagnosis{border-top:1px solid var(--line);padding-top:14px}.diagnosis>span,.latest>span{font-size:9px;font-weight:700;letter-spacing:1px;color:#7a8574}.diagnosis p,.latest p{font-size:13px;line-height:1.5;margin:5px 0 0}.latest{margin-top:auto;padding-top:11px}.latest p{color:#75816f;font-size:12px}.care-section{padding-top:27px}.care-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:14px}.care-heading>span{color:#78816e;font-size:12px}.action-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.action-button{position:relative;min-width:0;text-align:left;padding:15px 16px 13px;border:1px solid var(--line);background:white;border-radius:13px;transition:transform .15s,box-shadow .15s,border-color .15s}.action-button:hover{transform:translateY(-4px);border-color:var(--ink);box-shadow:0 5px 0 #2027230b}.action-button:active{transform:translateY(0)}.action-button .action-icon{font-size:25px;display:block;margin-bottom:12px;height:29px}.action-button strong{display:block;font-family:'Space Grotesk',sans-serif;font-size:15px;letter-spacing:-.3px}.action-button small{font-size:11px;display:block;color:#78816e;margin-top:4px}.action-button[data-action=beer]{background:#e9f3c9;border-color:#d0e19a}.action-button[data-action=malort]{background:#fff0e4;border-color:#edcfb6}.action-button:disabled{opacity:.55;transform:none}.trigger-section{margin-top:23px;padding:20px 23px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f0f3e9}.trigger-section h2{font-size:18px}.trigger-section p{font-size:12px;color:#75816f;margin:5px 0 0}.trigger-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:9px}.trigger-button{display:flex;gap:8px;align-items:center;justify-content:center;border:1px solid #d3dbca;background:#fff;border-radius:9px;padding:10px 13px;font-weight:600;font-size:12px;transition:transform .15s,background .15s}.trigger-button:hover{transform:rotate(-3deg);background:#fefbe6}.trigger-button img{height:28px;width:28px;object-fit:contain}.trigger-button .trigger-icon{font-size:25px;height:28px;display:flex;align-items:center}.trigger-button:disabled{opacity:.5}footer{padding:24px 0 28px;display:flex;align-items:center;gap:18px;justify-content:space-between;font-size:9px;font-weight:600;letter-spacing:.5px;color:#88917e}footer>button{font-size:11px;border:0;border-bottom:1px solid #bbc5af;padding:0;background:transparent;color:#75816f}body.paused .character,body.paused .character *,body.paused .effect{animation-play-state:paused}.pause-notice{filter:saturate(.65)}
@keyframes idle{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg) translateY(-2px)}}@keyframes happy-hop{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-18px) rotate(5deg)}}@keyframes tantrum{0%,100%{transform:translateX(-4px) rotate(-5deg)}50%{transform:translateX(4px) rotate(5deg)}}@keyframes mouth-top{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-3deg)}}@keyframes mouth-bottom{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(7px) rotate(4deg)}}@keyframes sleeping{0%,100%{transform:rotate(8deg) scaleY(.98)}50%{transform:rotate(11deg) scaleY(1)}}@keyframes float-up{0%{opacity:0;transform:translateY(20px) scale(.7)}20%{opacity:1}100%{opacity:0;transform:translateY(-55px) scale(1.2)}}@keyframes item-enter{from{transform:translateX(50px) rotate(25deg)}to{transform:translateX(0) rotate(9deg)}}
@media(min-width:1500px){.game-shell{padding:0 32px}.habitat{height:500px}.character-area{height:315px}.character{transform:scale(1.06)}}
@media(max-width:1000px){.game-shell{padding:0 28px}.game-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:16px}.trigger-section{align-items:flex-start;flex-direction:column;gap:15px}.trigger-grid{width:100%}.needs-panel{padding:22px 18px}.stage-bottom span:last-child{display:none}}
@media(max-width:700px){.game-shell{padding:0 18px}.topbar{height:80px}.brand{font-size:14px}.brand small{font-size:8px;letter-spacing:1px}.brand-mark{width:37px;height:37px;font-size:32px}.utility{font-size:11px;padding:8px 10px}.top-controls{gap:5px}.intro{padding:26px 0 22px}.eyebrow{font-size:9px;letter-spacing:1px}h1{font-size:43px;letter-spacing:-2px}.title-star{font-size:29px;vertical-align:6px;margin-left:10px}.session-badge{font-size:8px;letter-spacing:1px}.session-badge span{font-size:19px}.game-grid{grid-template-columns:1fr;gap:15px}.habitat{height:445px}.stage-top{top:18px;left:18px;right:18px}.speech{top:68px;font-size:16px}.character-area{bottom:43px}.needs-panel{padding:20px}.panel-heading{margin-bottom:17px}#needs{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.need-label{font-size:14px}.need-label output{font-size:12px}.growth{margin-top:4px}.diagnosis{display:none}.latest{padding-top:0}.latest p{font-size:13px}.care-heading{display:block}.care-heading>span{display:block;margin-top:6px;font-size:13px}.action-grid{grid-template-columns:repeat(3,1fr);gap:9px}.action-button{padding:13px 12px}.action-button strong{font-size:14px}.action-button small{font-size:11px}.action-button .action-icon{margin-bottom:8px}.action-button:nth-last-child(-n+2){grid-column:auto}.trigger-grid{grid-template-columns:repeat(2,1fr)}.trigger-section{padding:18px}.trigger-button{font-size:14px;padding:10px}footer{font-size:8px;flex-wrap:wrap;gap:12px;line-height:1.5}footer>span:nth-child(2){margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.character{--body-width:160px;--body-bottom:-20px;--head-top:41px;--head-width:112px;--head-height:164px}
.character.growing{--body-width:190px;--body-bottom:-24px;--head-top:24px;--head-width:112px;--head-height:164px}
.character.adult{--body-width:190px;--body-bottom:-24px;--head-top:0px;--head-width:97px;--head-height:141px}
.photo-piece{background-size:338.983% 232.558%;background-position:51.773% 10.526%}
.upper-face{clip-path:inset(0 0 26.74% 0);transform-origin:90% 73%}
.lower-face{clip-path:inset(73.26% 0 0 0);transform-origin:90% 73%}
.mouth-gap{left:5%;right:5%;top:72%;height:12%}
.body-sprite{mix-blend-mode:normal;filter:url(#remove-white)}
.mouth-gap{left:17%;right:17%;top:73%;height:8%;opacity:0}
.character.speaking .mouth-gap{opacity:1}
.prop-sprite{display:inline-block;flex-shrink:0;width:100px;height:100px;background-image:url('assets/fella-props.png');background-size:200% 200%;background-repeat:no-repeat;filter:url(#remove-white)}.prop-gun{background-position:0 0}.prop-ammo{background-position:100% 0}.prop-beer{background-position:0 100%}.prop-malort{background-position:100% 100%}.prop-sprite.icon-prop{width:32px;height:32px}.action-icon .prop-sprite.icon-prop{width:37px;height:37px;margin-top:-5px}.shown-item{left:calc(50% + 70px)}
.need-label,.trigger-button{font-size:14px}.need-label output{font-size:13px}.action-button small,.care-heading>span,.growth p,.growth>div,.panel-heading>span,.diagnosis>span,.latest>span{font-size:12px}.action-button strong{font-size:16px}.diagnosis p,.latest p{font-size:14px}.stage-bottom,.habitat-label{font-size:11px}.needs-panel{min-height:475px}.latest{margin-top:6px}.trigger-section p{font-size:14px}
.character.adult{--head-top:20px;--head-width:83px;--head-height:121px}
.character.startled{--frame:1;animation:visitor-panic .3s steps(2,end) infinite}
@keyframes visitor-panic{0%,100%{transform:translateX(-30px) rotate(-7deg)}50%{transform:translateX(-39px) translateY(-7px) rotate(-11deg)}}
.habitat.is-startled{background-color:#dce8f7}.habitat.is-startled:after{background-color:#b8cce4}
.shown-item.visitor{width:150px;height:auto;min-width:0;bottom:25px;display:flex;flex-direction:column;gap:6px;padding:7px;background:#fff;border:2px solid var(--ink);border-radius:9px;box-shadow:3px 4px 0 #20272325}.shown-item.visitor img{width:100%;height:auto;max-height:145px;object-fit:contain;filter:none;border-radius:4px}.visitor-label{font:700 12px 'Space Grotesk',sans-serif;letter-spacing:.2px;text-align:center}.trigger-button[data-action=visitor]{background:#eaf0fa}.trigger-button[data-action=visitor] img{object-fit:cover;border-radius:4px}
.character.snickering{animation:snicker .45s steps(2,end) infinite}.character.snickering .upper-face{animation:mouth-top .3s steps(2,end) infinite}.character.snickering .lower-face{animation:mouth-bottom .3s steps(2,end) infinite}
@keyframes snicker{0%,100%{transform:rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}
.trigger-section{flex-direction:column;align-items:stretch;gap:15px}.trigger-grid{width:100%;grid-template-columns:repeat(5,minmax(0,1fr))}.trigger-section .joke-caption{margin:0;border-top:1px solid var(--line);padding-top:12px;color:var(--ink);font-size:16px;line-height:1.5}.trigger-button[data-action=joke]{background:#f6efdc}.trigger-button .trigger-icon{flex-shrink:0}
@media(max-width:700px){.trigger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trigger-button[data-action=joke]{grid-column:1/-1}}
@media(max-width:700px){main{display:flex;flex-direction:column}.intro{order:0}.game-grid{display:contents}.habitat{order:1;flex-shrink:0}.care-section{order:2}.trigger-section{order:3;margin-bottom:20px}.needs-panel{order:4;min-height:0}footer{order:5}.action-button strong{font-size:14px}.stage-bottom{font-size:10px}.habitat-label{font-size:10px}.shown-item{left:calc(50% + 40px);bottom:65px}.shown-item .prop-sprite,.shown-item img{width:78px;height:78px}}
.trigger-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1000px){.trigger-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.trigger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trigger-button[data-action=joke]{grid-column:auto}.shown-item.visitor{width:106px;bottom:30px;padding:5px}.shown-item.visitor img{width:100%;height:auto}.visitor-label{font-size:12px;letter-spacing:0}.character.startled{animation-name:visitor-panic-small}}
@keyframes visitor-panic-small{0%,100%{transform:translateX(-20px) rotate(-7deg)}50%{transform:translateX(-27px) translateY(-5px) rotate(-10deg)}}

/* An absurdly overqualified rescue squad. */
.founders-button{display:flex;align-items:center;gap:15px;width:100%;text-align:left;padding:12px 15px;border:2px solid #625026;border-radius:11px;background:#fff0c7;box-shadow:0 3px 0 #62502620;transition:transform .15s,background .15s}
.founders-button:hover{background:#ffe6a1;transform:translateY(-2px)}
.founders-button:disabled{opacity:.55;transform:none}
.founders-button img{width:82px;height:50px;object-fit:cover;border-radius:5px;flex-shrink:0}
.founders-button strong{display:block;font:700 17px 'Space Grotesk',sans-serif}
.founders-button small{display:block;margin-top:4px;font-size:13px;line-height:1.4;color:#66552f}
.founders-star{margin-left:auto;font-size:30px;color:#896319}
.habitat.founders-active{background-color:#fff0c7}
.habitat.founders-active:after{background-color:#e4ce87}
.character{z-index:2}.effect{z-index:4}.shown-item{z-index:4}
.founders-backup{position:absolute;left:14px;top:16px;z-index:1;width:clamp(132px,19vw,185px);padding:7px;border:2px solid #625026;border-radius:10px;background:#fff7de;box-shadow:0 0 35px #efbc5a80,3px 4px 0 #62502625;transform:rotate(-6deg);text-align:center;animation:founders-arrive .6s cubic-bezier(.18,.85,.3,1.15) both;pointer-events:none}
.founders-backup img{display:block;width:100%;height:auto;border-radius:4px;margin:5px 0}
.founders-backup span,.founders-backup small{display:block;font:700 11px 'Space Grotesk',sans-serif;line-height:1.3;color:#625026}
.hell-portal{position:absolute;left:calc(50% + 70px);bottom:14px;width:150px;height:44px;z-index:3;border:4px solid #ffbd52;border-radius:50%;background:radial-gradient(ellipse,#271328 32%,#6d233c 62%,#f57536 76%);box-shadow:0 0 0 3px #b2482b,0 0 23px #ef7938;animation:portal-open .4s ease-out both;pointer-events:none}
.hell-portal span{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);width:max-content;max-width:155px;border-radius:4px;padding:3px 5px;background:#442336;color:#fff5d5;font:700 10px 'Space Grotesk',sans-serif}
.shown-item.visitor.banishing{transform-origin:50% 100%;animation:visitor-banish 2s .6s ease-in both;pointer-events:none}
.rescue-button{position:absolute;left:18px;bottom:10px;z-index:6;border:2px solid #625026;border-radius:7px;padding:8px 10px;background:#fff0c7;font:700 11px 'Space Grotesk',sans-serif;box-shadow:2px 2px 0 #62502630}
.rescue-button:hover{background:#ffe6a1}.rescue-button:disabled{opacity:.6}
.habitat.is-startled .stage-bottom>span:first-child{visibility:hidden}
.founders-backup[hidden],.hell-portal[hidden],.rescue-button[hidden]{display:none}
@keyframes founders-arrive{from{opacity:0;transform:translate(-100px,-30px) rotate(-18deg) scale(.6)}to{opacity:1;transform:rotate(-6deg) scale(1)}}
@keyframes portal-open{from{opacity:0;transform:scale(.1)}to{opacity:1;transform:scale(1)}}
@keyframes visitor-banish{0%{opacity:1;transform:rotate(9deg) scale(1)}25%{opacity:1;transform:translateY(-12px) rotate(-20deg) scale(1.06)}75%{opacity:1;transform:translateY(10px) rotate(400deg) scale(.4)}100%{opacity:0;transform:translateY(25px) rotate(740deg) scale(0)}}
@media(max-width:700px){.founders-button{gap:11px;padding:11px}.founders-button img{width:62px;height:44px}.founders-button strong{font-size:15px}.founders-button small{font-size:12px}.founders-star{display:none}.founders-backup{left:8px;top:20px;width:128px;padding:5px}.founders-backup span,.founders-backup small{font-size:10px}.hell-portal{left:calc(50% + 40px);width:106px;bottom:19px;height:34px}.hell-portal span{font-size:9px}.rescue-button{left:14px;font-size:10px;padding:8px}}

.rodgers-button{background:#e6f0d1;border-color:#587541}.rodgers-button:hover{background:#d9e9b7}
.rodgers-button img{object-fit:contain;background:#fff}.rodgers-button small{color:#4d643a}.rodgers-button .founders-star{color:#587541}
.habitat.is-blessed{background-color:#fff8d3}.habitat.is-blessed:after{background-color:#d7df98}
.shown-item.rodgers{bottom:24px;width:136px;height:auto;min-width:0;display:flex;flex-direction:column;gap:6px;padding:8px;background:#fffbea;border:2px solid #bb943b;border-radius:12px;box-shadow:0 0 32px #f9d75d90,3px 4px 0 #8b73252a;transform:rotate(-3deg);pointer-events:none}
.shown-item.rodgers img{width:100%;height:186px;object-fit:contain;filter:none;border-radius:5px;background:#fff}
.shown-item.rodgers:before{content:'';position:absolute;left:50%;top:-15px;transform:translateX(-50%) rotate(-8deg);width:68px;height:17px;border:4px solid #edc742;border-radius:50%;box-shadow:0 0 12px #fff4a8;z-index:1}
.shown-item.rodgers .visitor-label{color:#6c5420;letter-spacing:1px}
.shown-item.rodgers.visible{animation:blessing-arrives .8s ease-out both}
.character.blessed{--frame:1;animation:praise-hop .65s steps(2,end) infinite}
@keyframes blessing-arrives{from{opacity:0;transform:translateY(-65px) rotate(5deg)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}
@keyframes praise-hop{0%,100%{transform:rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@media(max-width:700px){.shown-item.rodgers{width:104px;bottom:28px;padding:6px}.shown-item.rodgers img{height:146px}.shown-item.rodgers:before{width:55px;height:15px;top:-13px}.shown-item.rodgers .visitor-label{font-size:11px}}

.job-section{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;margin-top:22px;padding:20px 23px;border:1px solid #c9d6b5;border-radius:14px;background:#edf4de}
.job-eyebrow,.fella-wallet>span{display:block;font-size:10px;font-weight:700;letter-spacing:1px;color:#677c4d}
.job-copy h2{margin-top:5px}.job-copy p{font-size:13px;line-height:1.4;color:#61714f;margin:6px 0 0}
.fella-wallet{text-align:right;min-width:83px}.fella-wallet output{display:block;font:700 35px 'Space Grotesk',sans-serif;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-1.5px;margin-top:4px}
.work-button{min-width:132px;padding:13px 18px;border:2px solid #34492e;border-radius:9px;background:#34492e;color:#fff;font-weight:700;font-size:14px}
.work-button:hover{background:#49633e}.work-button[aria-pressed=true]{background:#fff;color:#34492e}.work-button:disabled{opacity:.5;cursor:default}
.job-locked{background:#f0f2ec;border-color:var(--line)}.job-locked .fella-wallet{opacity:.55}.job-section.is-working{border-color:#93b656}.job-section.is-collecting{background:#fff0e4;border-color:#dfaa85}.job-section.is-collecting output{color:#ad432b}
.habitat.bernie-active{background-color:#f4d9c5}.habitat.bernie-active:after{background-color:#dfb392}
.shown-item.bernie{width:142px;height:auto;min-width:0;bottom:26px;display:flex;flex-direction:column;gap:6px;padding:7px;border:2px solid #6d4235;border-radius:10px;background:#fff9ee;box-shadow:3px 4px 0 #6d42352a;transform:rotate(5deg);pointer-events:none}
.shown-item.bernie img{width:100%;height:169px;object-fit:contain;filter:none;background:#fff;border-radius:4px}.shown-item.bernie .visitor-label{font-size:12px;color:#793d2c}
.shown-item.bernie.visible{animation:bernie-arrives .65s ease-out both}
.bernie-loot{position:absolute;top:50%;left:50%;font-size:36px;opacity:0}
.shown-item.bernie.collecting .bernie-loot{animation:cash-grab 1.6s ease-out both}
@keyframes bernie-arrives{from{opacity:0;transform:translateX(100px) rotate(15deg)}to{opacity:1;transform:translateX(0) rotate(5deg)}}
@keyframes cash-grab{0%{opacity:1;transform:translate(-130px,20px) rotate(-15deg) scale(1.1)}60%{opacity:1;transform:translate(-10px,0) rotate(10deg) scale(.9)}100%{opacity:0;transform:translate(0,18px) scale(.3)}}
@media(max-width:700px){.job-section{order:2;grid-template-columns:minmax(0,1fr) auto;gap:15px;margin-top:16px;padding:17px}.job-copy h2{font-size:18px}.job-copy p{font-size:12px}.work-button{grid-column:1/-1;width:100%;padding:11px}.fella-wallet output{font-size:31px}.fella-wallet{min-width:75px}.habitat.is-adult .stage-bottom>span:last-child{display:block;font-size:9px;white-space:nowrap}.shown-item.bernie{width:105px;bottom:29px;padding:5px}.shown-item.bernie img{height:129px}.shown-item.bernie .visitor-label{font-size:11px}.bernie-loot{font-size:29px}}

/* Keep the controls and the reaction in the same view. */
.sr-only,.controls-panel .job-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.game-shell{max-width:1260px;padding:0 24px}.topbar{height:68px}.game-shell main{display:block;padding-top:16px}
.play-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:stretch}
.controls-panel{min-width:0;align-self:start;display:grid;gap:14px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#f0f3e9}
.controls-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.controls-heading h2{font-size:18px}.controls-heading .session-badge{font-size:8px;letter-spacing:.8px}.controls-heading .session-badge span{font-size:17px;margin-top:3px}
.control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.controls-panel .action-grid,.controls-panel .trigger-grid{display:contents}
.control-grid .action-button,.control-grid .trigger-button{min-width:0;min-height:67px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;text-align:center;border-radius:9px;border:1px solid #d3dbca;box-shadow:none}
.control-grid .action-button strong,.control-grid .trigger-button{font:600 13px 'DM Sans',sans-serif;letter-spacing:0;line-height:1.2}
.control-grid .action-icon,.control-grid .trigger-icon{height:26px;margin:0;font-size:24px;line-height:26px;display:flex;align-items:center;justify-content:center}
.control-grid img,.control-grid .prop-sprite.icon-prop,.control-grid .action-icon .prop-sprite.icon-prop{width:26px;height:26px;margin:0;flex-shrink:0}
.control-grid .rodgers-button img{object-fit:cover;object-position:center 20%;border-radius:4px}
.control-grid .action-button:hover,.control-grid .trigger-button:hover{transform:translateY(-2px)}
.controls-panel .job-section{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0;padding:10px;border-radius:10px;position:relative}
.controls-panel .fella-wallet{min-width:0;text-align:left}.controls-panel .fella-wallet>span{font-size:9px;letter-spacing:.5px}.controls-panel .fella-wallet output{font-size:25px;letter-spacing:-.8px;margin:2px 0 0}
.controls-panel .work-button{grid-column:auto;min-width:0;max-width:156px;min-height:42px;padding:8px 10px;font-size:12px;line-height:1.25}
.play-layout .habitat{height:clamp(420px,calc(100svh - 104px),510px);min-width:0}
.play-layout .rescue-button{min-height:40px;padding:8px 14px;font-size:13px;left:13px;bottom:9px}
.play-layout .joke-caption{position:absolute;left:12px;right:12px;bottom:9px;z-index:6;margin:0;padding:8px 12px;border:1px solid #d8caa5;border-radius:8px;background:#fff8e6;color:var(--ink);font-size:13px;line-height:1.35}
.game-shell .needs-panel{min-height:0;margin-top:18px;padding:19px 22px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px 24px;border-radius:14px}
.needs-panel .panel-heading,.needs-panel #needs{grid-column:1/-1}.needs-panel .panel-heading{margin:0}.needs-panel #needs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.needs-panel .need{margin:0}.needs-panel .growth{margin:0}.needs-panel .diagnosis{padding:0;border:0}.needs-panel .latest{margin:0;padding:0}
.top-controls #reset{max-width:96px;line-height:1.2}.game-shell footer{padding:18px 0}
@media(max-width:1000px) and (min-width:761px){.play-layout{grid-template-columns:280px minmax(0,1fr);gap:14px}.controls-panel{padding:13px;gap:12px}.control-grid{gap:6px}.play-layout .stage-top{left:14px;right:14px}.play-layout .habitat-label{font-size:9px}.play-layout .mood-pill{font-size:11px}.play-layout .shown-item{left:calc(50% + 45px)}.play-layout .shown-item.visitor{width:120px}.play-layout .shown-item.rodgers{width:110px}.play-layout .shown-item.bernie{width:112px}.play-layout .hell-portal{left:calc(50% + 45px);width:120px}}
@media(max-width:760px){
  .game-shell{padding:0 12px}.topbar{height:56px}.brand{gap:8px;font-size:12px}.brand-mark{width:30px;height:30px;font-size:28px;border-radius:9px}.brand small{display:none}.top-controls{gap:5px}.utility{font-size:11px;padding:7px 9px;min-height:34px}.top-controls #reset{max-width:82px}
  .game-shell main{padding-top:10px}.play-layout{grid-template-columns:minmax(0,1fr);gap:10px}.controls-panel{padding:10px;gap:8px;border-radius:12px}.controls-heading h2{font-size:14px}.controls-heading .session-badge{display:flex;align-items:center;gap:6px;font-size:8px}.controls-heading .session-badge span{font-size:14px;margin:0}
  .control-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.control-grid .action-button,.control-grid .trigger-button{min-height:48px;gap:2px;padding:5px 3px}.control-grid .action-button strong,.control-grid .trigger-button{font-size:12px}.control-grid .action-icon,.control-grid .trigger-icon{height:20px;font-size:20px;line-height:20px}.control-grid img,.control-grid .prop-sprite.icon-prop,.control-grid .action-icon .prop-sprite.icon-prop{width:20px;height:20px}
  .controls-panel .job-section{padding:6px 8px;min-height:44px}.controls-panel .fella-wallet{display:flex;align-items:center;gap:9px}.controls-panel .fella-wallet output{font-size:23px;margin:0}.controls-panel .work-button{min-height:32px;max-width:none;padding:6px 12px;font-size:12px}
  .play-layout .habitat{height:clamp(320px,calc(100svh - 342px),400px);border-radius:14px}.play-layout .stage-top{top:10px;left:12px;right:12px}.play-layout .habitat-label{font-size:9px}.play-layout .mood-pill{font-size:11px;padding:5px 8px}.play-layout .speech{top:43px;font-size:13px;line-height:1.3;padding:8px 12px;max-width:90%;min-width:0;border-radius:10px}.play-layout .character-area{bottom:32px;transform:scale(.76);transform-origin:center bottom}.play-layout .stage-bottom{left:12px;right:12px;bottom:12px;font-size:9px;gap:10px}.play-layout .rescue-button{min-height:38px;font-size:12px;bottom:6px}.play-layout .joke-caption{font-size:11px;padding:6px 9px;bottom:7px}
  .game-shell .needs-panel{grid-template-columns:1fr;gap:14px;margin-top:14px;padding:17px}.needs-panel #needs{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.needs-panel .diagnosis{display:none}.needs-panel .growth,.needs-panel .latest{grid-column:1/-1}.game-shell footer{font-size:8px;padding:16px 0}
}
@media(max-width:360px){.brand>span:last-child{display:none}.controls-heading .session-badge{font-size:7px}.control-grid .action-button strong,.control-grid .trigger-button{font-size:11px}}
@media(max-width:760px) and (max-height:650px){.topbar{height:50px}.game-shell main{padding-top:8px}.controls-panel{padding:8px;gap:6px}.control-grid .action-button,.control-grid .trigger-button{min-height:44px;padding:3px}.play-layout{gap:8px}.play-layout .habitat{height:clamp(260px,calc(100svh - 312px),320px)}.play-layout .stage-top{display:none}.play-layout .speech{top:10px;font-size:12px}.play-layout .character-area{transform:scale(.66);bottom:26px}}
@media(min-width:761px) and (max-height:560px){
  .topbar{height:50px}.game-shell main{padding-top:8px}.play-layout{grid-template-columns:260px minmax(0,1fr);gap:12px}.controls-panel{padding:8px;gap:6px}.controls-heading h2{font-size:14px}.controls-heading .session-badge{display:flex;align-items:center;gap:5px}.controls-heading .session-badge span{font-size:14px;margin:0}
  .control-grid{gap:6px}.control-grid .action-button,.control-grid .trigger-button{min-height:44px;padding:3px;gap:2px}.control-grid .action-button strong,.control-grid .trigger-button{font-size:12px}.control-grid .action-icon,.control-grid .trigger-icon{height:20px;font-size:20px;line-height:20px}.control-grid img,.control-grid .prop-sprite.icon-prop,.control-grid .action-icon .prop-sprite.icon-prop{width:20px;height:20px}.controls-panel .job-section{padding:6px}.controls-panel .work-button{min-height:34px;font-size:11px;padding:6px 8px}.controls-panel .fella-wallet output{font-size:21px}
  .play-layout .habitat{height:max(280px,calc(100svh - 74px))}.play-layout .stage-top{top:10px}.play-layout .speech{top:45px;font-size:13px;padding:8px 12px}.play-layout .character-area{transform:scale(.75);transform-origin:center bottom;bottom:29px}
}

.controls-panel .job-section{grid-template-columns:minmax(0,1fr) auto auto;gap:6px}
.controls-panel .fella-wallet output{font-size:23px}
.al-button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;padding:7px 9px;border:1px solid #87b7bb;border-radius:8px;background:#e4f4f4;color:#234f55;font-size:12px;font-weight:700;white-space:nowrap}
.al-button:hover{background:#d1ecec}.al-button:disabled{opacity:.55}.al-button img{width:24px;height:24px;object-fit:cover;object-position:center 23%;border-radius:50%}
.controls-panel .work-button{padding-left:8px;padding-right:8px}
.habitat.al-active{background-color:#eef8e3}.habitat.al-active:after{background-color:#c6deac}
.shown-item.al{width:142px;height:auto;min-width:0;bottom:24px;display:flex;flex-direction:column;gap:7px;padding:8px;background:#fffceb;border:2px solid #bcaa62;border-radius:12px;box-shadow:0 0 38px #fff3a0,3px 4px 0 #7d89492a;transform:rotate(-4deg);pointer-events:none}
.shown-item.al img{width:100%;height:166px;object-fit:cover;object-position:center 24%;filter:none;border-radius:5px;background:#fff}
.shown-item.al:before{content:'';position:absolute;left:50%;top:-16px;transform:translateX(-50%) rotate(-7deg);width:76px;height:18px;border:4px solid #e5c84c;border-radius:50%;box-shadow:0 0 15px #fff6a6}
.shown-item.al .visitor-label{font-size:12px;color:#596333;line-height:1.25;letter-spacing:.3px}
.shown-item.al.visible{animation:al-arrives .8s ease-out both}
@keyframes al-arrives{from{opacity:0;transform:translateY(-65px) rotate(5deg) scale(.85)}to{opacity:1;transform:translateY(0) rotate(-4deg) scale(1)}}
@media(max-width:1000px){.play-layout .shown-item.al{width:110px;padding:6px}.shown-item.al img{height:136px}.shown-item.al .visitor-label{font-size:11px}.shown-item.al:before{width:61px;height:16px;top:-14px}}
@media(max-width:760px){.controls-panel .job-section{gap:5px;padding:5px 6px}.al-button{min-height:34px;padding:5px 7px;font-size:11px}.al-button img{width:21px;height:21px}.controls-panel .fella-wallet{gap:5px}.controls-panel .fella-wallet output{font-size:21px}.controls-panel .work-button{font-size:11px;padding-left:7px;padding-right:7px}}
@media(min-width:761px) and (max-height:560px){.al-button{min-height:34px;padding:5px 7px;font-size:11px}.al-button img{width:21px;height:21px}}

/* The same Al control leads to a very different night through Beer + Al. */
.control-grid .action-button.with-al{background:#ffe6aa;border-color:#b98524}
.al-cue{position:absolute;left:12px;right:12px;bottom:8px;z-index:6;margin:0;padding:7px 9px;border:1px solid #bbbd78;border-radius:8px;background:#fffceb;color:#435126;font-size:12px;text-align:center}
.al-cue[hidden],.al-spill[hidden]{display:none}
.habitat.drunk-al-active{background-color:#f2dfa9}.habitat.drunk-al-active:after{background-color:#ddc080}
.character.shenanigans{animation:fella-shenanigans .85s steps(3,end) infinite}
.shown-item.al.drunk-al{background:#fff1d5;border-color:#aa7835;box-shadow:3px 4px 0 #78512a30;transform-origin:center bottom}
.shown-item.al.drunk-al:before{display:none}
.shown-item.al.drunk-al .visitor-label{color:#7b4b22}
.shown-item.al.drunk-al.visible{animation:al-stumbles 1.15s steps(3,end) infinite}
.al-spill{position:absolute;left:calc(50% + 95px);bottom:-10px;pointer-events:none;text-align:center;transform:rotate(-8deg);animation:al-oops .7s ease-out both}
.al-spill span{display:block;font-size:45px;line-height:1}.al-spill small{display:block;padding:2px 5px;border-radius:4px;background:#fff3c5;color:#755325;font-size:11px;font-weight:700}
.habitat.drunk-al-active .effect{font-size:17px;left:calc(50% + 15px)}
@keyframes fella-shenanigans{0%,100%{transform:translateX(-9px) rotate(-7deg)}50%{transform:translateX(5px) translateY(-7px) rotate(6deg)}}
@keyframes al-stumbles{0%,100%{transform:translateX(4px) rotate(8deg)}50%{transform:translateX(-5px) translateY(-4px) rotate(-7deg)}}
@keyframes al-oops{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:rotate(-8deg) scale(1)}}
@media(max-width:1000px){.al-spill{left:calc(50% + 70px)}}
@media(max-width:760px){.al-cue{font-size:11px;padding:6px 8px;bottom:6px}}
