:root{--lf-ink:#173d42;--lf-cream:#fff7d6;--lf-red:#e94d3c;--lf-yellow:#ffd65c;--lf-green:#178d69;--lf-teal:#17766f;--lf-wood:#7b3f21}body:has(.loose-fruit-shell){height:100svh;overflow:hidden}.loose-fruit-shell{width:100%;height:100svh;color:var(--lf-ink);font-family:var(--font-body), sans-serif;-webkit-user-select:none;user-select:none;background:linear-gradient(#135f57de,#0c3d40f0),url(/loose-fruit/market-stall.png) 50%/cover;overflow:hidden}.lf-topbar{z-index:20;background:#fff7d6f7;border-bottom:4px solid #49240f;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:62px;padding:8px clamp(12px,3vw,36px);display:grid;position:relative;box-shadow:0 5px #12302d47}.lf-topbar>a{color:#215c60;align-items:center;gap:7px;width:fit-content;font-weight:950;display:inline-flex}.lf-wordmark{font:950 clamp(1.45rem, 3vw, 2.2rem) var(--font-display), sans-serif;letter-spacing:-.065em;text-transform:uppercase;transform:rotate(-1deg)}.lf-wordmark span{color:var(--lf-red);text-shadow:2px 2px 0 var(--lf-yellow)}.lf-wordmark strong{color:var(--lf-green);text-shadow:2px 2px #c8ed7d}.lf-audio-controls{justify-self:end;gap:7px;display:flex}.lf-audio-controls button{color:#fff;background:var(--lf-teal);cursor:pointer;border:0;border-radius:12px;place-items:center;width:39px;height:39px;display:grid;box-shadow:0 3px #0b4c49}.lf-volume-control{color:#fff;background:var(--lf-teal);border-radius:12px;align-items:center;gap:6px;height:39px;padding:0 9px;display:flex;box-shadow:0 3px #0b4c49}.lf-volume-control span{place-items:center;display:grid}.lf-volume-control input{width:82px;accent-color:var(--lf-yellow);cursor:pointer}.lf-volume-control output{text-align:right;min-width:21px;font-size:.66rem;font-weight:950}.lf-layout{grid-template-columns:minmax(210px,1fr) minmax(340px,560px) minmax(190px,.8fr);align-items:stretch;gap:12px;height:calc(100svh - 62px);min-height:0;padding:12px;display:grid;overflow:hidden}.lf-showcase,.lf-rules{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#073b3ac7;border:3px solid #ffeba1b3;border-radius:24px;min-height:0;padding:clamp(18px,3vw,38px);box-shadow:0 7px #162a2661}.lf-showcase{flex-direction:column;justify-content:space-between;display:flex}.lf-showcase small{color:#ffe27a;text-transform:uppercase;letter-spacing:.1em;font-weight:950}.lf-showcase h1{font:950 clamp(2rem, 4.4vw, 4.7rem)/.91 var(--font-display), sans-serif;letter-spacing:-.065em;text-wrap:balance;margin:12px 0 16px}.lf-showcase p,.lf-rules p{color:#e4f4e8;margin:0;line-height:1.5}.lf-record{flex-wrap:wrap;gap:9px;display:flex}.lf-record span{color:var(--lf-ink);background:#ffe27a;border-radius:11px;padding:8px 10px;font-weight:900}.lf-rules{align-self:center;gap:12px;min-height:auto;display:grid}.lf-rules h2{color:#ffe27a;font:950 1.55rem var(--font-display), sans-serif;margin:0 0 4px}.lf-rules a{color:#ffe27a;border-bottom:2px solid #ffe27a;width:fit-content;margin-top:7px;padding-bottom:2px;font-weight:950}.lf-game{background:linear-gradient(#fffadcdb,#fff4c4ed),url(/loose-fruit/market-stall.png) 50%/cover;border:5px solid #fff0af;border-radius:28px;grid-template-rows:auto minmax(205px,.9fr) minmax(0,1.25fr);gap:8px;width:100%;min-height:0;padding:10px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 5px #8a4a25,0 10px #29190e73}.lf-cpu-zone,.lf-player-zone{background:#fff7d6f0;border:3px solid #9a5831;border-radius:17px;min-height:0;padding:8px 10px;box-shadow:0 4px #5b2f1a4d}.lf-cpu-zone.pulse{animation:.28s lf-cpu-claim}@keyframes lf-cpu-claim{50%{background:#ffd5ca;transform:scale(1.025)}}.lf-zone-heading{color:#7a321e;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;font-weight:950;display:flex}.lf-zone-heading strong{color:#fff;background:var(--lf-red);text-align:center;min-width:31px;font:950 .9rem var(--font-display), sans-serif;border-radius:999px;padding:3px 8px}.lf-card-backs{grid-template-columns:repeat(12,minmax(12px,1fr));gap:3px;margin-top:6px;display:grid}.lf-card-backs span{aspect-ratio:.76;color:#ffe27a;background:repeating-linear-gradient(45deg,#176c67 0 4px,#218b78 4px 8px);border:2px solid #fff3bc;border-radius:5px;place-items:center;max-height:35px;font-size:.62rem;font-weight:950;display:grid;box-shadow:0 2px #743b22}.lf-centre-stage{grid-template-rows:auto minmax(0,1fr);place-items:center;min-height:0;display:grid;position:relative}.lf-status-row{color:#31575b;text-align:center;justify-content:center;align-items:center;gap:8px;width:100%;min-height:30px;font-size:.72rem;font-weight:900;display:flex}.lf-difficulty{color:#fff;background:var(--lf-green);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 7px;font-size:.58rem}.lf-difficulty.medium{background:#dd7b20}.lf-difficulty.hard{background:#d8463b}.lf-centre-card{aspect-ratio:.77;color:#fff;cursor:pointer;width:min(42%,170px);min-width:126px;transform-style:preserve-3d;touch-action:manipulation;background:#176c67;border:5px solid #fff2af;border-radius:21px;transition:transform .16s;position:relative;box-shadow:0 7px #67331e,0 12px 24px #2522113d}.lf-centre-card:disabled{cursor:default}.lf-centre-card.face-up{transform:rotateY(180deg)}.lf-centre-card.wrong{animation:.18s linear 2 lf-wrong}@keyframes lf-wrong{25%{translate:-8px}75%{translate:8px}}.lf-card-back,.lf-card-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:15px;place-items:center;display:grid;position:absolute;inset:0}.lf-card-back{color:#ffe27a;font:950 2.2rem var(--font-display), sans-serif;text-shadow:3px 3px #0f4c49;background:radial-gradient(circle,#ffffff26 0 4px,#0000 5px) 0 0/22px 22px,#176c67}.lf-card-face{color:#79351f;background:linear-gradient(145deg,#fff,#fff3c5);align-content:center;gap:5px;padding:9px;transform:rotateY(180deg)}.lf-fruit-art{background-image:var(--fruit-image);background-color:#fff7d5;background-position:50%;background-repeat:no-repeat;background-size:contain;border:2px solid #315a23;border-radius:8px;display:block}.lf-card-face .lf-fruit-art{aspect-ratio:.761904;filter:drop-shadow(0 5px #572f182e);border-radius:12px;width:min(92%,128px)}.lf-card-placeholder{aspect-ratio:1;color:#176c67;width:72%;font:950 2rem var(--font-display), sans-serif;background:#fff7c8;border:5px solid #d58a19;border-radius:24px;place-items:center;display:grid}.lf-card-face b{filter:drop-shadow(0 5px #572f182e);font-size:clamp(3.8rem,10vh,6rem);line-height:1}.lf-card-face strong{max-width:100%;font:950 clamp(.62rem, 1.7vh, .88rem)/.95 var(--font-display), sans-serif;text-align:center;text-transform:uppercase;overflow:visible}.lf-player-zone{grid-template-rows:auto minmax(0,1fr);display:grid}.lf-player-zone.last-card{animation:.9s ease-in-out infinite alternate lf-last}@keyframes lf-last{to{box-shadow:0 0 0 5px #ffd65c,0 5px #7b3f21}}.lf-hand{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:5px;min-height:0;margin-top:6px;display:grid}.lf-hand-card{color:#713b20;cursor:pointer;touch-action:manipulation;background:linear-gradient(#fff,#fff1bd);border:2px solid #e6b84b;border-radius:9px;align-content:center;place-items:center;min-width:0;min-height:0;padding:3px;font-family:inherit;transition:translate 90ms,box-shadow 90ms;display:grid;box-shadow:0 2px #9b5a2c}.lf-hand-card:active{box-shadow:none;translate:0 2px}.lf-hand-card .lf-fruit-art{aspect-ratio:.761904;border-radius:5px;width:min(100%,52px);max-height:100%}.lf-hand-card strong{text-align:center;text-transform:uppercase;white-space:normal;max-width:100%;font-size:clamp(.38rem,1.05vh,.55rem);line-height:.95;overflow:visible}.lf-overlay{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e3534c7;border-radius:22px;place-items:center;padding:16px;display:grid;position:absolute;inset:0}dialog.lf-overlay{border:0;width:auto;max-width:none;height:auto;max-height:none;margin:0}.lf-menu-card{width:min(100%,410px);max-height:100%;color:var(--lf-ink);text-align:center;background:#fff8d8;border:5px solid #ffe27a;border-radius:24px;padding:clamp(18px,3vh,28px);overflow:auto;box-shadow:0 9px #743b22}.lf-menu-card>small{color:#a7412b;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:950}.lf-menu-card h2,.lf-paused h2{font:950 clamp(2.2rem, 7vh, 4rem)/.92 var(--font-display), sans-serif;letter-spacing:-.06em;color:var(--lf-red);text-shadow:3px 3px 0 var(--lf-yellow);margin:5px 0}.lf-tagline{color:#35636a;margin:8px 0 14px;font-weight:900}.lf-menu-card ol{color:#375b60;text-align:left;gap:5px;margin:0 0 14px;padding:0;font-size:.76rem;font-weight:800;list-style-position:inside;display:grid}.lf-difficulties{border:0;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 14px;padding:0;display:grid}.lf-difficulties legend{color:#6d4a27;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;width:100%;margin-bottom:6px;font-size:.64rem;font-weight:950}.lf-difficulties button,.lf-primary,.lf-secondary{text-transform:uppercase;cursor:pointer;border:0;border-radius:11px;min-height:42px;font-weight:950}.lf-difficulties button{color:#345e5e;background:#d9eee3}.lf-difficulties button.selected{color:#fff;background:var(--lf-green);box-shadow:0 3px #0d6047}.lf-primary{color:#fff;background:linear-gradient(#f36a49,#d84331);width:100%;font-size:1rem;box-shadow:0 5px #9f2e24}.lf-secondary{color:#315d5c;background:#dfece4;place-items:center;margin-top:10px;display:grid}.lf-result-counts{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;display:grid}.lf-result-counts span{color:#fff;background:var(--lf-teal);border-radius:11px;padding:10px;font-weight:900}.lf-countdown,.lf-paused{color:#fff;text-align:center;align-content:center;gap:6px}.lf-countdown small{color:#ffe27a;letter-spacing:.1em;text-transform:uppercase;font-weight:950}.lf-countdown strong{font:950 clamp(5rem, 22vh, 10rem) var(--font-display), sans-serif;color:#ffe27a;text-shadow:6px 6px #a5372c}.lf-paused p{margin:0;font-weight:900}@media (max-width:980px){.lf-layout{grid-template-columns:minmax(0,1fr);padding:8px}.lf-showcase,.lf-rules{display:none}.lf-game{width:min(100%,600px);margin:0 auto}}@media (max-width:620px){.lf-topbar{height:54px;padding:5px 8px}.lf-topbar>a span{display:none}.lf-wordmark{font-size:1.32rem}.lf-audio-controls button{width:35px;height:35px}.lf-volume-control{gap:4px;width:112px;height:35px;padding:0 6px}.lf-volume-control input{width:58px}.lf-volume-control output{min-width:18px;font-size:.58rem}.lf-layout{height:calc(100svh - 54px);padding:5px}.lf-game{border-width:3px;border-radius:20px;grid-template-rows:auto minmax(175px,.84fr) minmax(0,1.3fr);gap:5px;padding:6px;box-shadow:0 0 0 3px #8a4a25}.lf-cpu-zone,.lf-player-zone{border-width:2px;border-radius:12px;padding:5px 7px}.lf-card-backs{gap:2px}.lf-card-backs span{border-width:1px;max-height:25px}.lf-centre-card{border-width:4px;width:min(36%,145px);min-width:112px}.lf-card-face b:not(.lf-fruit-art){font-size:clamp(3.35rem,9.2vh,5.1rem)}.lf-status-row{min-height:24px;font-size:.64rem}.lf-hand{gap:3px;margin-top:4px}.lf-hand-card{border-width:1px;border-radius:7px}.lf-menu-card{padding:16px}.lf-menu-card ol{font-size:.7rem}}@media (max-height:700px) and (min-width:621px){.lf-layout{padding:7px}.lf-game{grid-template-rows:auto minmax(170px,.85fr) minmax(0,1.25fr);gap:5px;padding:6px}.lf-card-backs span{max-height:25px}.lf-centre-card{width:min(34%,135px)}.lf-hand-card .lf-fruit-art{width:min(100%,45px)}}@media (prefers-reduced-motion:reduce){.lf-centre-card,.lf-cpu-zone,.lf-player-zone{transition:none!important;animation:none!important}}
