.landscape-ui .ui-stage .combined-game.picnic-game .mini-board-area{align-items:center;justify-content:center;min-height:0}
.picnic-board{width:100%;max-width:540px;min-height:0;display:flex;flex-direction:column;gap:14px;padding:16px;border:2px solid #9aa778;border-radius:24px;background:linear-gradient(#f7efdbbb,#e5ebcbd9),url('art/mal/moss-garden.webp') center/cover;box-shadow:0 4px #73674930}
.picnic-guest{display:flex;align-items:center;justify-content:center;gap:10px;min-height:110px}.picnic-guest>img{width:110px;height:110px;object-fit:contain}.picnic-wish{position:relative;background:#fff9e8;border:2px solid #b3bc88;border-radius:22px;padding:10px 16px;color:#315b40;min-width:140px}.picnic-wish:before{content:'';position:absolute;left:-10px;top:40%;width:16px;height:16px;background:#fff9e8;border-left:2px solid #b3bc88;border-bottom:2px solid #b3bc88;transform:rotate(45deg)}.picnic-wish>small{display:block;font-size:14px;font-weight:800}.picnic-wish>div{display:flex;align-items:center;justify-content:center;gap:12px}.picnic-wish-food{display:flex;align-items:center;gap:3px}.picnic-wish-food strong{font-size:25px;white-space:nowrap}.picnic-fruit{display:inline-block;width:46px;height:46px;flex:none}
.picnic-blanket{border:2px solid #bb9164;border-radius:22px;padding:14px;background-color:#f7debc;background-image:repeating-linear-gradient(0deg,#dba38e44 0 20px,transparent 20px 40px),repeating-linear-gradient(90deg,#dba38e44 0 20px,transparent 20px 40px)}
.picnic-plate{min-height:130px;max-width:310px;margin:0 auto 14px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;align-items:center;gap:0 4px;padding:12px 24px;border:5px double #c0cda1;border-radius:50%;background:#fffced;box-shadow:0 4px 0 #887d4b22}.picnic-plate>span{font-size:17px;color:#71845b}.picnic-plate .picnic-fruit{width:42px;height:42px}
.picnic-baskets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.picnic-basket{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:78px;padding:4px;border:2px solid #9ca876;border-radius:15px;background:#fff8e7;box-shadow:0 3px #8d835b44;color:#32583e;font-size:14px;font-weight:800}.picnic-basket:disabled{opacity:.55}.picnic-basket:focus-visible{outline:3px solid #245f44;outline-offset:2px}
.picnic-controls{display:flex;align-items:center;justify-content:center;gap:10px}.picnic-controls button{min-height:44px;padding:8px 12px;font-size:14px}.picnic-controls .back{background:#fff8e7;border-radius:12px}.picnic-victory{text-align:center;padding:10px}.picnic-victory>img{width:110px;height:110px;object-fit:contain}.picnic-victory h2{font-size:23px}
html[data-game-orientation="portrait"] .landscape-ui .ui-stage .combined-game.picnic-game .mini-workspace.no-task{grid-template-rows:minmax(0,1fr)}
html[data-game-orientation="portrait"] .landscape-ui .ui-stage .combined-game.picnic-game .mini-workspace:not(.no-task){grid-template-rows:minmax(0,1.1fr) minmax(0,1fr)}
@media(max-height:900px){.picnic-board{gap:8px;padding:10px}.picnic-guest{min-height:80px}.picnic-guest>img{width:80px;height:80px}.picnic-blanket{padding:10px}.picnic-plate{min-height:100px;margin-bottom:8px}.picnic-basket{min-height:64px}.picnic-basket .picnic-fruit{width:36px;height:36px}}
@media(max-height:740px) and (orientation:portrait){
 .picnic-board{gap:5px;padding:6px;border-radius:18px}.picnic-guest{min-height:50px;gap:6px}.picnic-guest>img{width:50px;height:50px}.picnic-wish{padding:4px 10px;border-radius:14px;min-width:110px}.picnic-wish>small{font-size:10px}.picnic-wish-food strong{font-size:19px}.picnic-wish .picnic-fruit{width:29px;height:29px}.picnic-blanket{padding:5px;border-radius:14px}.picnic-plate{min-height:64px;padding:5px 18px;margin-bottom:5px;max-width:220px}.picnic-plate .picnic-fruit{width:27px;height:27px}.picnic-plate>span{font-size:12px}.picnic-baskets{gap:6px}.picnic-basket{min-height:44px;font-size:11px;padding:2px}.picnic-basket .picnic-fruit{width:25px;height:25px}.picnic-controls{gap:4px}.picnic-controls button{min-height:36px;font-size:11px;padding:5px 7px}
 .landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math .keypad button{height:30px}.landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math .equation{min-height:40px;font-size:29px}.landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math .answer{height:40px;font-size:28px}.landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math .mini-task-status{min-height:13px;font-size:9px;line-height:13px}.picnic-game .picnic-victory>img{width:65px;height:65px}.picnic-game .picnic-victory h2{font-size:18px}
}
@media(prefers-reduced-motion:no-preference){.picnic-board.serving .picnic-plate{animation:picnic-serve .65s ease-in-out both}.picnic-board.serving .picnic-guest>img{animation:picnic-cheer .65s ease-in-out}}
@keyframes picnic-serve{50%{transform:translateY(-15px) scale(.92);box-shadow:0 0 0 8px #efd58577}to{transform:translateY(-25px) scale(.85);opacity:0}}
@keyframes picnic-cheer{50%{transform:translateY(-8px) rotate(-5deg)}}

html[data-tablet-layout="true"][data-game-orientation="portrait"] .picnic-board{gap:10px;padding:12px}
html[data-tablet-layout="true"][data-game-orientation="portrait"] .picnic-guest{min-height:90px}
html[data-tablet-layout="true"][data-game-orientation="portrait"] .picnic-guest>img{width:90px;height:90px}
html[data-tablet-layout="true"][data-game-orientation="portrait"] .picnic-blanket{padding:10px}
html[data-tablet-layout="true"][data-game-orientation="portrait"] .picnic-plate{min-height:110px;margin-bottom:10px}
html[data-tablet-layout="true"][data-game-orientation="portrait"] .picnic-basket{min-height:70px}

/* Phone boards follow their allotted workspace, including taller Android WebViews. */
html:not([data-tablet-layout="true"]) .landscape-ui .ui-stage .picnic-game .mini-board-area{container-type:size;container-name:picnic-space}
html:not([data-tablet-layout="true"]) .picnic-board{height:min(100%,400px);flex:none;display:grid;grid-template-rows:clamp(46px,22cqh,76px) minmax(0,1fr) 40px;gap:5px;padding:6px;border-radius:18px}
html:not([data-tablet-layout="true"]) .picnic-guest{min-height:0;gap:6px}
html:not([data-tablet-layout="true"]) .picnic-guest>img{width:clamp(42px,22cqh,76px);height:100%;max-height:76px}
html:not([data-tablet-layout="true"]) .picnic-wish{padding:4px 10px;border-radius:14px;min-width:110px}
html:not([data-tablet-layout="true"]) .picnic-wish>small{font-size:11px}
html:not([data-tablet-layout="true"]) .picnic-wish>div{gap:8px}
html:not([data-tablet-layout="true"]) .picnic-wish-food strong{font-size:20px}
html:not([data-tablet-layout="true"]) .picnic-wish .picnic-fruit{width:30px;height:30px}
html:not([data-tablet-layout="true"]) .picnic-blanket{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 44px;gap:5px;padding:5px;border-radius:14px}
html:not([data-tablet-layout="true"]) .picnic-plate{width:100%;height:100%;min-height:0;max-width:260px;margin:0 auto;padding:3px 14px;border-width:4px;gap:0 3px}
html:not([data-tablet-layout="true"]) .picnic-plate .picnic-fruit{width:clamp(22px,9cqh,30px);height:clamp(22px,9cqh,30px)}
html:not([data-tablet-layout="true"]) .picnic-plate>span{font-size:12px}
html:not([data-tablet-layout="true"]) .picnic-baskets{min-height:0;gap:6px}
html:not([data-tablet-layout="true"]) .picnic-basket{min-height:44px;height:44px;font-size:11px;padding:2px;border-radius:11px}
html:not([data-tablet-layout="true"]) .picnic-basket .picnic-fruit{width:25px;height:25px}
html:not([data-tablet-layout="true"]) .picnic-controls{gap:4px}
html:not([data-tablet-layout="true"]) .picnic-controls button{min-height:40px;font-size:11px;padding:5px 7px}

/* On very short screens, place the wish beside the plate instead of above it. */
@container picnic-space (max-height:220px){
 html:not([data-tablet-layout="true"]) .picnic-board{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr) 44px 40px}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-blanket{display:contents}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-guest{grid-row:1;grid-column:1;flex-direction:column;gap:0}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-guest>img{width:30px;height:30px;flex:none}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-wish{min-width:0;padding:2px 5px;width:100%}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-wish:before{display:none}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-wish>small{font-size:9px;white-space:nowrap;text-align:center}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-wish-food strong{font-size:16px}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-wish .picnic-fruit{width:22px;height:22px}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-wish>div{gap:4px}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-plate{grid-row:1;grid-column:2;padding:2px 8px}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-plate .picnic-fruit{width:18px;height:18px}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-baskets{grid-row:2;grid-column:1/-1}
 html:not([data-tablet-layout="true"]) .picnic-board .picnic-controls{grid-row:3;grid-column:1/-1}
}
html:not([data-tablet-layout="true"]) .landscape-ui .ui-stage .picnic-game .mini-task-area{container-type:size;container-name:picnic-math}
@container picnic-math (max-height:205px){
 .landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math{gap:3px}
 .landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math .equation{min-height:32px;font-size:26px}
 .landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math .answer{height:32px;font-size:25px}
 .landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math .keypad button{height:25px;font-size:20px}
 .landscape-ui .ui-stage .combined-game.picnic-game .mini-task-area .memory-math .mini-task-status{display:none}
 .picnic-game .picnic-victory{padding:4px}
 .picnic-game .picnic-victory>img{width:48px;height:48px}
 .picnic-game .picnic-victory h2{font-size:16px;margin:6px 0}
 .picnic-game .picnic-victory button{min-height:36px;padding:6px;font-size:12px}
}

.picnic-hidden-wish{display:grid;place-items:center;width:44px;height:44px;font-size:30px;font-weight:900;color:#6b8155;border:2px dashed #a4b783;border-radius:12px;background:#e9edce}
.picnic-memorize{text-align:center;max-width:320px;padding:10px;color:#315b40}.picnic-memorize h2{font-size:22px;margin:0 0 10px}.picnic-memorize p{font-size:15px;line-height:1.5;margin:0}
html:not([data-tablet-layout="true"]) .picnic-wish.three-types>div{gap:4px}
html:not([data-tablet-layout="true"]) .picnic-wish.three-types .picnic-wish-food strong{font-size:17px}
html:not([data-tablet-layout="true"]) .picnic-wish.three-types .picnic-fruit{width:23px;height:23px}
html:not([data-tablet-layout="true"]) .picnic-hidden-wish{width:30px;height:30px;font-size:23px}
@container picnic-space (max-height:220px){
 html:not([data-tablet-layout="true"]) .picnic-board:has(.three-types) .picnic-guest>img{display:none}
 html:not([data-tablet-layout="true"]) .picnic-board .three-types .picnic-wish-food{flex-direction:column;gap:0}
 html:not([data-tablet-layout="true"]) .picnic-board .three-types .picnic-wish-food strong{font-size:14px;line-height:16px}
 html:not([data-tablet-layout="true"]) .picnic-board .three-types .picnic-fruit{width:20px;height:20px}
}
@container picnic-math (max-height:205px){.picnic-memorize{padding:5px}.picnic-memorize h2{font-size:17px;margin-bottom:5px}.picnic-memorize p{font-size:12px;line-height:1.4}}

.picnic-review{max-width:150px;min-height:36px;padding:4px 8px;border:1px solid #93aa78;border-radius:10px;background:#edf1d3;color:#315b40;font-size:12px;font-weight:800;line-height:1.2}
html:not([data-tablet-layout="true"]) .picnic-review{max-width:120px;min-height:30px;font-size:10px;padding:3px 5px}
