@font-face{font-family:Circular;src:url(/fonts/CircularStd-Book.otf);font-display:swap}@font-face{font-family:Circular;src:url(/fonts/CircularStd-Bold.otf);font-weight:700;font-display:swap}@font-face{font-family:Windsor;src:url(/fonts/WindsorProRg.TTF);font-display:swap}@font-face{font-family:Noto Sans SC;src:url(/fonts/NotoSansSC.ttf)format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Noto Sans Tamil;src:url(/fonts/NotoSansTamil.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:Circular,Arial,sans-serif}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button{font-family:inherit}:root{--orange:#ef3e23;--yellow:#ffcb0f;--green:#008646;--ui:1.5}.app-viewport{isolation:isolate;width:100%;height:100dvh;position:relative;overflow:hidden}.viewport-scenery{z-index:0;isolation:isolate;pointer-events:none;position:absolute;inset:0;overflow:hidden}.menu-viewport .viewport-scenery,.result-gingham{background:#fcefcf url(/background/gingham.svg) center / calc(160px * var(--stage-scale)) calc(160px * var(--stage-scale)) repeat}.result-gingham{z-index:1;pointer-events:none;position:absolute;inset:0 0 0 50%}.game-viewport .viewport-scenery{background:url(/background/game.webp) 50%/cover}.viewport-scenery .scene-blur{-webkit-backdrop-filter:blur(calc(14px * var(--stage-scale)));backdrop-filter:blur(calc(14px * var(--stage-scale)))}.app-stage{z-index:2;transform-origin:50%;width:1920px;height:1080px;position:absolute;top:50%;left:50%;overflow:hidden;container-type:size}.windsor{transform-origin:50%;margin-block:.4em;line-height:1;display:inline-block;transform:scaleY(1.6)}*{box-sizing:border-box}button{cursor:pointer}.gingham-screen{height:100%;position:relative;overflow:hidden}.title-screen section{z-index:1;position:absolute;top:21%;left:10.5%}.title-screen h1{color:var(--orange);margin:0 0 18px;font:4.9cqw/1 Windsor,serif}.title-screen p{color:var(--orange);max-width:960px;font-size:2.65cqw;line-height:1.35}.title-food{width:39%;position:absolute;bottom:12%;right:6%}.copy-lines{white-space:pre-line}.language-switcher{z-index:2;align-items:center;display:flex;position:absolute;top:7%;right:5.5%}.language-switcher button{color:var(--orange);background:0 0;border:0;padding:0 14px;font:36px/1.2 Circular,sans-serif}.language-switcher button+button{border-left:2px solid var(--orange)}.language-switcher button:last-child{padding-right:0}.language-switcher button[aria-pressed=true]{text-underline-offset:8px;text-decoration:underline}.language-switcher button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.image-button{background:var(--start-button) center/100% 100% no-repeat;border:0}.start-button{width:24cqw;height:7cqw;margin-top:5%}.calculator{width:80%;height:100%;margin:0 auto;padding-top:90px;position:relative}.calculator h2{color:var(--orange);margin:0;font:700 42px/1.35 Circular,sans-serif}.calculator-heading>p{margin:18px 0 0;font-size:28px;line-height:1.4}.calculator-grid{grid-template-columns:340px minmax(0,1fr);gap:80px;margin-top:58px;display:grid}.calculator-grid h3{align-items:center;gap:12px;margin:0 0 24px;font-size:30px;line-height:1.2;display:flex}.step-number{background:var(--orange);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:19px;display:inline-grid}.field-unit{color:#645634;font-size:24px;font-weight:400}.weight-display{border:3px solid var(--orange);background:#fff;justify-content:space-between;align-items:center;height:84px;padding:0 20px;display:flex}.weight-display strong{font-size:50px}.weight-display span{color:var(--orange);font-size:24px}.weight-display.placeholder strong{color:#aaa}.numpad{grid-template-columns:repeat(3,1fr);display:grid}.numpad button{background:var(--yellow);border:1px solid #fff;justify-content:center;align-items:center;height:80px;padding:0;font:34px Windsor,serif;display:flex}.numpad button:hover{background:#ffda48}.calculator button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.numpad button .windsor{margin-block:0}.calculator-start:disabled{cursor:not-allowed;filter:grayscale();opacity:.45}.age-options{grid-template-columns:1fr 1fr;gap:20px;margin:0;display:grid}.age-options label{--selection-ring:transparent;box-shadow:inset 0 0 0 2px var(--selection-ring);cursor:pointer;background:#fff9e9;border-radius:16px;align-items:center;gap:16px;padding:22px 26px;font-size:30px;font-weight:700;display:flex}.age-options label:has(input:checked){--selection-ring:var(--orange);background:#fff}.age-options label:has(input:focus-visible){box-shadow:inset 0 0 0 2px var(--selection-ring),0 0 0 4px #fcefcf,0 0 0 7px var(--orange)}.age-options input{width:28px;height:28px;accent-color:var(--orange);flex-shrink:0;margin:0}.protein-goal{background:#fffdf5;border-radius:18px;margin-top:28px;padding:27px 31px;box-shadow:inset 0 0 0 1px #dfcb94}.goal-label{margin:0;font-size:24px;font-weight:700}.goal-value{color:var(--orange);align-items:baseline;gap:14px;margin:4px 0 8px;display:flex}.goal-value strong{letter-spacing:-2px;font-size:80px;line-height:1.1}.goal-value>span{font-size:34px}.goal-value>span>span{color:#645634;font-size:24px}.calculation{color:var(--orange);margin:0;font-size:32px;line-height:1.5}.age-column .tip{color:#51482f;max-width:950px;margin:24px 0 0;font-size:23px;line-height:1.45}.tip b{color:#111}.calculator-actions{border-top:1px solid #d9c48c;justify-content:flex-end;align-items:center;gap:24px;margin-top:28px;padding-top:24px;display:flex}.calculator-actions>span{color:#645634;max-width:480px;font-size:22px}.calculator-start{flex-shrink:0;width:280px;height:84px}.ready-screen,.game-screen,.summary-screen{height:100%;position:relative;overflow:hidden}.scene-bricks{z-index:1;pointer-events:none;background:url(/background/bricks.webp) bottom/100% 100% no-repeat;height:34%;position:absolute;bottom:0;left:0;right:0}.scene-blur{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#ffffff0a;position:absolute;inset:0}.scene-wash{z-index:3;pointer-events:none;background:linear-gradient(#b0dcf200,#b0dcf2cc);position:absolute;inset:0}.instructions{z-index:2;width:max-content;max-width:90%;margin:0 auto;padding-top:8cqh;font-size:2.8cqw;position:relative}.instructions p{margin:calc(12px * var(--ui)) 0}.instructions p b{width:calc(45px * var(--ui));height:calc(45px * var(--ui));margin-right:calc(18px * var(--ui));color:#fff;font-size:calc(22px * var(--ui));background:#000;border-radius:50%;place-items:center;line-height:1;display:inline-grid}.instructions strong{padding:calc(5px * var(--ui) + .4em) calc(10px * var(--ui));color:#fff;background:var(--orange);font:1em Windsor,serif}.instructions strong .windsor{margin-block:0}.instructions h1{text-align:center;margin-top:6cqh;font:5.5cqw Windsor,serif}.game-screen{touch-action:none;-webkit-user-select:none;user-select:none}.game-screen img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.game-instruction{z-index:5;text-align:center;width:65%;font-size:2.1cqw;font-weight:700;position:absolute;top:4%;left:50%;transform:translate(-50%)}.sound-controls{z-index:30;gap:2px;display:flex;position:absolute;top:10px;right:12px}.sound-controls button{color:#fff;background:0 0;border:0;place-items:center;width:26px;height:26px;padding:0;display:grid;position:relative}.sound-controls button.is-muted:after{content:"";background:#fff;height:1.5px;position:absolute;left:3px;right:3px;transform:rotate(-32deg)}.timer{z-index:5;width:calc(145px * var(--ui));padding:calc(7px * var(--ui));text-align:center;box-shadow:inset 0 0 0 calc(1px * var(--ui)) var(--orange);border-radius:calc(30px * var(--ui));font-size:calc(25px * var(--ui));background:#fff;font-weight:700;position:absolute;top:6%;right:4%}.timer.ending{color:var(--orange)}.protein-meter{z-index:5;text-align:center;font-size:calc(16px * var(--ui));position:absolute;top:15%;left:5%}.protein-meter>div{width:calc(33px * var(--ui));height:calc(305px * var(--ui));padding:calc(4px * var(--ui));box-shadow:inset 0 0 0 calc(1px * var(--ui)) var(--orange);border-radius:calc(22px * var(--ui));background:#fff;align-items:flex-end;display:flex;overflow:hidden}.protein-meter i{border-radius:calc(18px * var(--ui));background:var(--orange);width:100%;transition:height .25s;position:relative}.protein-meter i b{top:calc(4px * var(--ui));color:#fff;font-style:normal;font-size:calc(16px * var(--ui));position:absolute;left:50%;transform:translate(-50%)}.play-field{z-index:2;position:absolute;inset:0}.falling-food{width:calc(85px * var(--ui));height:calc(85px * var(--ui));filter:drop-shadow(0 calc(8px * var(--ui)) calc(5px * var(--ui)) #0004);position:absolute;transform:translate(-50%,-50%)}.falling-food img{object-fit:contain;width:100%;height:100%}.plate-control{z-index:6;width:calc(170px * var(--ui));height:calc(110px * var(--ui));cursor:grab;touch-action:none;position:absolute;bottom:18%;transform:translate(-50%)}.bowl{width:100%;filter:drop-shadow(0 calc(8px * var(--ui)) calc(5px * var(--ui)) #0004);position:absolute;bottom:0}.plate-stack{z-index:2;left:50%;top:calc(9px * var(--ui));width:calc(130px * var(--ui));height:calc(48px * var(--ui));position:absolute;transform:translate(-50%)}.plate-stack span{width:calc(36px * var(--ui));height:calc(36px * var(--ui));transform-origin:bottom;position:absolute;bottom:0}.plate-stack img{object-fit:contain;width:100%;height:100%}.drag-arrows{z-index:5;align-items:center;gap:calc(200px * var(--ui));pointer-events:none;width:max-content;transition:opacity .4s;display:flex;position:absolute;bottom:23%;left:50%;transform:translate(-50%)}.drag-arrows.hidden{opacity:0}.drag-arrow{transform-origin:50%;width:9.7cqw;height:auto;animation:2.8s ease-in-out infinite arrow-pulse}.drag-arrow.left{transform:scaleX(-1)}@keyframes arrow-pulse{0%,to{scale:.9}50%{scale:1.1}}.summary-screen{grid-template-columns:1fr 1fr;display:grid}.result-panel,.cheatsheet-panel{z-index:5;min-width:0;min-height:0;padding:9cqh 7%;position:relative}.result-panel h1{margin:0;font:5cqw Windsor,serif}.result-panel h2{margin:0 0 calc(25px * var(--ui));font-size:1.35cqw}.win{color:var(--green)}.lose{color:var(--orange)}.result-panel>p{font-size:1.45cqw;line-height:1.45}.result-panel>p strong{color:var(--orange)}.result-panel>p strong.eaten{color:var(--green)}.result-panel>p strong.short{color:#111}.eaten-list{width:82%}.eaten-list div{align-items:center;font-size:1.25cqw;display:flex}.eaten-list i{margin:0 calc(8px * var(--ui));border-bottom:calc(2px * var(--ui)) dotted #222;flex:1}.result-actions{justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:10%;left:7%;right:7%}.result-actions button{width:calc(164px * var(--ui));height:calc(45px * var(--ui));background:var(--restart-button) center/100% 100% no-repeat;border:0;padding:0}.result-actions .qr-guide{align-items:center;gap:calc(12px * var(--ui));color:#111;font-size:calc(18px * var(--ui));line-height:1.25;display:flex}.result-actions img{width:calc(160px * var(--ui))}.cheatsheet-panel{flex-direction:column;padding:4cqh 5% 3cqh;display:flex}.end-title{width:min(100%, calc(520px * var(--ui)));margin:0 auto calc(12px * var(--ui));display:block}.cheatsheet-grid{object-fit:contain;flex:1;width:100%;min-height:0;display:block}.app-viewport:lang(zh){--locale-font:"Noto Sans SC",sans-serif}.app-viewport:lang(ta){--locale-font:"Noto Sans Tamil",sans-serif}.app-viewport:is(:lang(zh),:lang(ta)),.app-viewport:is(:lang(zh),:lang(ta)) :is(h1,h2,button,.windsor,.instructions strong){font-family:var(--locale-font)}.language-switcher button:lang(zh){font-family:Noto Sans SC,sans-serif}.language-switcher button:lang(ta){font-family:Noto Sans Tamil,sans-serif}.app-viewport:is(:lang(zh),:lang(ta)) .windsor{margin-block:0;line-height:1.35;transform:none}.app-viewport:is(:lang(zh),:lang(ta)) .title-screen h1{font-weight:700}.app-viewport:lang(ta) .title-screen h1{font-size:76px}.app-viewport:lang(ta) .title-screen p{max-width:1000px;font-size:42px;line-height:1.6}.app-viewport:lang(ta) .calculator h2{font-size:36px;line-height:1.55}.app-viewport:lang(ta) .age-options label{font-size:26px}.app-viewport:lang(ta) .instructions{font-size:38px;line-height:1.6}.app-viewport:lang(ta) .result-panel h1{font-size:46px;line-height:1.5}.app-viewport:lang(ta) .result-panel h2{font-size:24px;line-height:1.5}.app-viewport:lang(ta) .result-panel>p{font-size:24px;line-height:1.7}.app-viewport:lang(ta) .result-actions .qr-guide{max-width:56%;font-size:21px;line-height:1.6}.result-actions .qr-guide span{min-width:0}.result-actions img{flex-shrink:0}.qr-code{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.qr-url{font-size:calc(12px * var(--ui));white-space:nowrap}
