@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-ext-400-normal-20d73ae7.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-400-normal-d48c37c9.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-e44e669f.woff2) format("woff2"),url(/assets/nunito-cyrillic-400-normal-ff8e8bdd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-vietnamese-400-normal-2a755616.woff2) format("woff2"),url(/assets/nunito-vietnamese-400-normal-9c01ea9f.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-ext-400-normal-67250a41.woff2) format("woff2"),url(/assets/nunito-latin-ext-400-normal-d7e2415e.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-a5906e15.woff2) format("woff2"),url(/assets/nunito-latin-400-normal-b51e7635.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-ext-600-normal-d53e9851.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-600-normal-e3d0201f.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-e61eb97b.woff2) format("woff2"),url(/assets/nunito-cyrillic-600-normal-ac046097.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-vietnamese-600-normal-cf95b95d.woff2) format("woff2"),url(/assets/nunito-vietnamese-600-normal-2ffbb85f.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-ext-600-normal-a7ba5f4f.woff2) format("woff2"),url(/assets/nunito-latin-ext-600-normal-5a8efd17.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-45f437de.woff2) format("woff2"),url(/assets/nunito-latin-600-normal-06a9c8b3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-ext-700-normal-5936f6ac.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-700-normal-c8c02775.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-8fcefcc9.woff2) format("woff2"),url(/assets/nunito-cyrillic-700-normal-b9684104.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-vietnamese-700-normal-0e29c28c.woff2) format("woff2"),url(/assets/nunito-vietnamese-700-normal-7793b75e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-ext-700-normal-0a4e4a02.woff2) format("woff2"),url(/assets/nunito-latin-ext-700-normal-0c607961.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-fa89300b.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-ce9107dc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-ext-800-normal-796cf7bd.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-800-normal-217b8f51.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-cyrillic-800-normal-d80292de.woff2) format("woff2"),url(/assets/nunito-cyrillic-800-normal-40253beb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-vietnamese-800-normal-fac6740e.woff2) format("woff2"),url(/assets/nunito-vietnamese-800-normal-5baf507e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-ext-800-normal-39f54b55.woff2) format("woff2"),url(/assets/nunito-latin-ext-800-normal-466d0211.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-2363d3ed.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-0ca02785.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-ext-900-normal-f5e6b535.woff2) format("woff2"),url(/assets/nunito-cyrillic-ext-900-normal-63975812.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-cyrillic-900-normal-50f32003.woff2) format("woff2"),url(/assets/nunito-cyrillic-900-normal-d3c860f2.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-vietnamese-900-normal-97f0651f.woff2) format("woff2"),url(/assets/nunito-vietnamese-900-normal-f83aed14.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-ext-900-normal-f7e97aaf.woff2) format("woff2"),url(/assets/nunito-latin-ext-900-normal-b6a2e1a3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-9ca32f5d.woff2) format("woff2"),url(/assets/nunito-latin-900-normal-001c1d9c.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #153b32;--muted: #58736c;font-family:Nunito,sans-serif;line-height:1.5;font-weight:400;color:var(--ink);background-color:#f5faf7;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background-color:#f5faf7;background-image:linear-gradient(rgba(8,119,92,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(8,119,92,.035) 1px,transparent 1px);background-size:28px 28px}#root{min-height:100vh}button,input,textarea,select{letter-spacing:0}::selection{color:#fff;background:#08775c}.app{min-height:100vh;color:var(--ink)}button{font:inherit}button:focus-visible{outline:3px solid #0f766e;outline-offset:3px}.topbar{width:min(1460px,calc(100% - 48px));min-height:88px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(9,71,59,.14);animation:appear .42s ease-out both}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;color:#fff;background:#08775c;border-radius:50%;box-shadow:0 7px 18px #08775c33}.brand-mark svg{width:24px;height:24px}.brand p,.brand h1,.play-heading p,.play-heading h2,.tray-heading p,.tray-heading h2{margin:0}.brand p{margin-bottom:1px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.brand h1{font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.08}.reset-button,.finish-button,.primary-button,.secondary-button,.close-button{border:0;cursor:pointer}.reset-button{min-height:42px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;color:#075e4b;background:#fff;border:1px solid #b8d7ce;border-radius:6px;font-weight:800;box-shadow:0 2px #075e4b14;transition:background .16s ease,border-color .16s ease,transform .16s ease}.reset-button:hover{background:#edf9f5;border-color:#75b9a6;transform:translateY(-1px)}.reset-button svg,.finish-button svg,.primary-button svg,.close-button svg{width:18px;height:18px}.game-layout{width:min(1460px,calc(100% - 48px));margin:0 auto;padding:28px 0 48px;display:grid;grid-template-columns:minmax(0,1fr) 342px;gap:34px;align-items:start}.play-area{min-width:0;animation:rise .52s 70ms ease-out both}.play-heading{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(9,71,59,.12)}.section-label{color:#0d8062;font-size:.72rem;font-weight:900;text-transform:uppercase}.play-heading h2,.tray-heading h2{margin-top:3px;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.15}.score-gauge{--score: 0deg;width:74px;height:74px;padding:6px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#16a36f var(--score),#dce8e3 0);box-shadow:inset 0 0 0 1px #0000000a;transition:background .35s ease}.score-gauge>div{width:100%;height:100%;display:grid;place-content:center;text-align:center;background:#fff;border-radius:50%}.score-gauge strong,.score-gauge span{display:block}.score-gauge strong{font-size:1.15rem;line-height:1}.score-gauge span{margin-top:3px;color:var(--muted);font-size:.63rem;font-weight:800}.plate-board{position:relative;container-type:inline-size;width:min(100%,840px);aspect-ratio:947 / 757;margin:18px auto 8px;isolation:isolate}.plate-image{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 20px 22px rgba(21,55,47,.13));-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.drop-zone{position:absolute;z-index:2;display:grid;place-items:center;padding:0;color:#063f32;background:transparent;border:2px dashed transparent;cursor:default;transition:background .16s ease,border-color .16s ease,filter .16s ease}.plate-board.is-choosing .drop-zone.is-valid{background:rgba(255,255,255,.13);border-color:#ffffffbf;cursor:pointer;animation:zonePulse 1.8s ease-in-out infinite}.plate-board.is-choosing .drop-zone.is-valid:hover,.drop-zone.is-active{z-index:3;background:rgba(255,255,255,.38);border-color:#fff;filter:drop-shadow(0 4px 6px rgba(7,57,44,.18))}.drop-zone:disabled{cursor:not-allowed}.drop-zone span{padding:5px 9px;color:#064b3b;background:rgba(255,255,255,.92);border-radius:5px;font-size:clamp(.58rem,1.5cqw,.78rem);font-weight:900;box-shadow:0 3px 8px #03372a26}.zone-frutas{left:18.5%;top:8.8%;width:25.5%;height:36.5%;clip-path:polygon(4% 7%,100% 0,100% 100%,0 100%)}.zone-vegetales{left:18.5%;top:45.5%;width:25.5%;height:45%;clip-path:polygon(0 0,100% 0,100% 100%,9% 90%)}.zone-granos{left:44%;top:7.5%;width:35%;height:36%;clip-path:polygon(0 0,72% 0,100% 72%,0 100%)}.zone-proteinas{left:44%;top:28.5%;width:42%;height:62%;clip-path:polygon(0 21%,88% 0,100% 13%,93% 78%,73% 96%,0 100%)}.zone-lacteos{left:79%;top:.5%;width:20.5%;height:27%;border-radius:50%}.placed-foods{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.placed-food{position:absolute;left:var(--food-x);top:var(--food-y);width:clamp(40px,8cqw,76px);height:clamp(40px,8cqw,76px);padding:3px;display:grid;place-items:center;background:rgba(255,255,255,.84);border:2px solid #fff;border-radius:50%;cursor:pointer;pointer-events:auto;transform:translate(-50%,-50%);box-shadow:0 5px 12px #03362933;animation:foodPop .24s ease-out both;transition:transform .15s ease,box-shadow .15s ease}.plate-board.is-choosing .placed-food{pointer-events:none}.placed-food:hover,.placed-food:focus-visible{z-index:2;transform:translate(-50%,-50%) scale(1.1);box-shadow:0 8px 16px #03362942}.placed-food img{width:92%;height:92%;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.12))}.placed-food span{position:absolute;left:50%;top:calc(100% + 5px);width:max-content;max-width:120px;padding:3px 6px;color:#fff;background:#123e34;border-radius:4px;font-size:.65rem;font-weight:800;opacity:0;pointer-events:none;transform:translate(-50%) translateY(-3px);transition:opacity .14s ease,transform .14s ease}.placed-food:hover span,.placed-food:focus-visible span{opacity:1;transform:translate(-50%) translateY(0)}.occasional-area{margin:12px 0 14px;display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:12px;align-items:start}.occasional-target{min-width:0;min-height:72px;padding:11px 14px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;color:#59351f;background:#fffaf5;border:2px dashed #d7b392;border-radius:6px;cursor:default;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease}.occasional-target:disabled{cursor:not-allowed;opacity:.46}.occasional-target.is-valid{background:#fff1e4;border-color:#df763d;cursor:pointer;box-shadow:0 0 0 3px #df763d1a}.occasional-target.is-valid:hover,.occasional-target.is-active{background:#ffe7d2;border-color:#c95e2b}.occasional-icon{display:grid;place-items:center;color:#bd5528}.occasional-icon svg{width:27px;height:27px}.occasional-copy{min-width:0;display:grid;gap:2px}.occasional-copy strong,.occasional-copy small{overflow-wrap:anywhere}.occasional-copy strong{font-size:.88rem;line-height:1.15}.occasional-copy small{color:#785d4c;font-size:.68rem;font-weight:700}.occasional-action{padding:5px 8px;color:#fff;background:#bd5528;border-radius:4px;font-size:.7rem;font-weight:900}.occasional-foods{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.occasional-food{min-width:0;min-height:72px;padding:7px 8px;display:grid;grid-template-columns:38px minmax(0,1fr) 15px;align-items:center;gap:6px;color:#4f392e;background:#fff;border:1px solid #e7d6c8;border-radius:6px;cursor:pointer;font-size:.68rem;font-weight:800;line-height:1.15;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.occasional-food:hover,.occasional-food:focus-visible{border-color:#ce825a;box-shadow:0 5px 12px #63351c1c;transform:translateY(-1px)}.occasional-food img{width:38px;height:48px;display:block;object-fit:contain}.occasional-food span{min-width:0;overflow-wrap:anywhere}.occasional-food svg{width:15px;height:15px;color:#9a5b3d}.healthy-fat-target{color:#294b2b;background:#f7fbf3;border-color:#a9c991}.healthy-fat-target.is-valid{background:#eef8e7;border-color:#6d9d4f;box-shadow:0 0 0 3px #6d9d4f1a}.healthy-fat-target.is-valid:hover,.healthy-fat-target.is-active{background:#e2f2d7;border-color:#527f37}.healthy-fat-icon{color:#527f37}.healthy-fat-copy small{color:#55704c}.healthy-fat-action{background:#527f37}.healthy-fat-food{color:#33452e;border-color:#d5e4ca}.healthy-fat-food:hover,.healthy-fat-food:focus-visible{border-color:#7ca462;box-shadow:0 5px 12px #41632d1f}.healthy-fat-food svg{color:#63824f}.feedback{min-height:58px;padding:10px 14px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;background:#f2f8f5;border-left:4px solid #4b8f7d;border-radius:6px}.feedback-success{color:#075d43;background:#e9f8f1;border-left-color:#16a36f}.feedback-warning{color:#7b371d;background:#fff3e8;border-left-color:#e76f36}.feedback-icon{display:grid;place-items:center}.feedback-icon svg{width:23px;height:23px}.feedback p{margin:0;font-size:.9rem;font-weight:700}.feedback strong{min-width:48px;text-align:right;font-size:1.1rem}.score-up{color:#08775c}.score-down{color:#c2412d}.group-progress{margin-top:16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.group-progress>div{min-width:0;min-height:38px;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;border-top:2px solid #d8e4df}.group-progress>div>span{width:8px;height:8px;background:var(--group-color);border-radius:50%}.group-progress p,.group-progress small{margin:0}.group-progress p{overflow:hidden;font-size:.75rem;font-weight:800;text-overflow:ellipsis}.group-progress small{color:var(--muted);font-size:.6rem}.group-progress svg{width:16px;height:16px;color:#0a8b63}.group-progress .is-complete{border-top-color:#47b991}.food-tray{position:sticky;top:20px;max-height:calc(100vh - 40px);padding:20px;display:flex;flex-direction:column;background:rgba(255,255,255,.9);border:1px solid #cdded8;border-radius:8px;box-shadow:0 14px 34px #0f4b3d1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:rise .52s .15s ease-out both}.tray-heading{min-height:56px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.tray-heading h2{font-size:1.45rem}.tray-heading>span{min-width:30px;height:30px;padding:0 7px;display:grid;place-items:center;color:#075e4b;background:#def3eb;border-radius:50%;font-size:.8rem;font-weight:900}.food-grid{min-height:0;padding:4px 3px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow-y:auto;scrollbar-color:#9cc8ba transparent;scrollbar-width:thin}.food-card{position:relative;min-width:0;height:112px;padding:7px 6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;color:#173b32;background:#fbfdfc;border:1px solid #d8e5e0;border-radius:6px;cursor:grab;font-size:.73rem;font-weight:800;line-height:1.14;text-align:center;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}.food-card:hover{z-index:1;border-color:#76bba6;box-shadow:0 6px 14px #0e56431f;transform:translateY(-2px)}.food-card:active{cursor:grabbing}.food-card.is-selected{color:#064f3d;background:#e7f8f1;border:2px solid #11966c;box-shadow:0 0 0 3px #11966c1f}.food-picture{width:68px;height:72px;display:grid;place-items:center}.food-picture img{width:100%;height:100%;min-width:0;min-height:0;display:block;object-fit:contain;filter:drop-shadow(0 4px 3px rgba(28,54,47,.13));-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.selected-check{position:absolute;top:6px;right:6px;width:19px;height:19px;padding:3px;color:#fff;background:#0a8b63;border-radius:50%}.finish-button{min-height:48px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:#075985;border-radius:6px;font-weight:900;box-shadow:0 7px 15px #07598533;transition:background .15s ease,transform .15s ease,opacity .15s ease}.finish-button:hover:not(:disabled){background:#064b70;transform:translateY(-1px)}.finish-button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;padding:20px;display:grid;place-items:center;background:rgba(4,35,29,.68);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:fadeIn .18s ease-out both}.result-dialog{position:relative;width:min(100%,500px);max-height:calc(100vh - 40px);padding:34px;overflow-y:auto;color:var(--ink);background:#fff;border:1px solid rgba(255,255,255,.8);border-radius:8px;text-align:center;box-shadow:0 28px 70px #0019134d;animation:resultIn .28s ease-out both}.close-button{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;color:#41645b;background:#edf4f1;border-radius:50%}.close-button:hover{color:#173b32;background:#dcebe5}.trophy-mark{width:62px;height:62px;margin:0 auto 14px;display:grid;place-items:center;color:#7a4b00;background:#ffd66b;border-radius:50%;box-shadow:0 8px 20px #b776002e}.trophy-mark svg{width:30px;height:30px}.result-dialog h2{margin:5px 0 6px;font-size:clamp(1.7rem,6vw,2.45rem);line-height:1.1}.result-score{margin:7px 0;color:#08775c;font-size:4rem;font-weight:900;line-height:1}.result-score span{font-size:1.7rem}.result-message{max-width:390px;margin:12px auto 20px;color:var(--muted);font-weight:600}.result-summary{padding:14px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #dce7e3;border-bottom:1px solid #dce7e3}.result-summary>div{padding:8px 4px;display:grid;gap:3px}.result-summary>div:nth-child(2n){border-left:1px solid #dce7e3}.result-summary>div:nth-child(n+3){border-top:1px solid #dce7e3}.result-summary strong{font-size:1.2rem}.result-summary span{color:var(--muted);font-size:.77rem;font-weight:700}.missing-groups{margin:16px 0 0;padding:10px;color:#77500b;background:#fff6d8;border-radius:5px;font-size:.82rem;font-weight:800}.dialog-actions{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary-button,.secondary-button{min-height:46px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;font-weight:900}.primary-button{color:#fff;background:#08775c}.secondary-button{color:#075e4b;background:#eaf5f1;border:1px solid #bcd9d0}.primary-button:hover{background:#066149}.secondary-button:hover{background:#dcede7}@keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes resultIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes foodPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-8deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes zonePulse{0%,to{border-color:#ffffff85}50%{border-color:#ffffffeb}}@media (max-width: 1040px){.game-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px}.food-tray{padding:16px}.food-card{height:102px}.food-picture{width:60px;height:64px}}@media (max-width: 860px){.topbar,.game-layout{width:min(100% - 32px,760px)}.game-layout{grid-template-columns:1fr;gap:28px}.food-tray{position:static;max-height:none}.food-grid{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}}@media (max-width: 620px){.topbar{width:calc(100% - 24px);min-height:76px}.game-layout{width:calc(100% - 24px);padding-top:18px}.brand-mark{width:40px;height:40px}.brand p{display:none}.reset-button{width:42px;padding:0;justify-content:center}.reset-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.play-heading{min-height:68px}.play-heading h2{max-width:240px;font-size:1.12rem}.score-gauge{width:62px;height:62px;padding:5px}.score-gauge strong{font-size:1rem}.plate-board{margin-top:12px}.drop-zone span{padding:3px 5px}.occasional-area{grid-template-columns:1fr}.occasional-foods{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback{min-height:64px;grid-template-columns:25px minmax(0,1fr) auto;gap:7px;padding:9px 10px}.feedback p{font-size:.78rem}.feedback strong{min-width:40px;font-size:.94rem}.group-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.group-progress>div:last-child{grid-column:1 / -1}.food-tray{padding:14px}.food-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.food-card{height:96px;font-size:.66rem}.food-picture{width:52px;height:58px}.result-dialog{padding:28px 18px 20px}}@media (max-width: 390px){.brand h1{max-width:190px;font-size:1.15rem}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.food-card{height:105px}.occasional-target{grid-template-columns:30px minmax(0,1fr) auto;padding:9px 10px}.occasional-icon svg{width:24px;height:24px}.dialog-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
