:root{font-family:"Nunito",system-ui,sans-serif;color:#343e32;background:#eee6d2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button{min-height:44px;border:1px solid #70856d;border-radius:10px;background:#faf5e8;padding:7px 10px;cursor:pointer;font-weight:700}button:disabled{opacity:.48;cursor:default}button:focus-visible,select:focus-visible{outline:3px solid #b64146;outline-offset:1px}button[aria-pressed=true]{background:#d8e5ca;border-color:#3b6042}select{min-height:44px;max-width:100%;background:#fff9ed;border:1px solid #70856d;border-radius:8px;padding:6px}h1,h2,p{margin:0}p{line-height:1.45}#app{max-width:1040px;margin:auto;padding:6px}header{display:flex;gap:5px;align-items:center;margin-bottom:6px}h1{font-size:17px;line-height:1.1;flex:1}header button{padding:5px 7px}main{display:grid;gap:8px;align-items:start}#workspace{width:100%;max-width:448px;justify-self:center;background:#ceb496;border:2px solid #ac8b67;border-radius:14px;padding:4px;box-shadow:0 3px 0 #866c4e33}#board{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:2px}#board button{aspect-ratio:1;min-height:44px;padding:1px;border:0;border-radius:8px;position:relative;background:#f5ebd8;touch-action:none;user-select:none;font-size:15px}#board button[aria-pressed=true]{outline:3px solid #b33b43;outline-offset:-3px;background:#fff9e9}#board button.closed{background:#b79b7b;color:#665d4d}#board button.closed:disabled{opacity:1}#board button small{display:block;font-size:11px;color:#313b30}#board button .glyph{display:block;font-size:23px;line-height:1.15}#control{display:grid;gap:6px}#status{font-weight:800;font-size:14px}#orders{display:grid;grid-template-columns:1fr 1fr;gap:5px}#orders button{text-align:left;line-height:1.15;min-height:65px;border-color:#b84e52;background:#fff4de}#orders button b,#orders button small{display:block}#orders small{font-weight:400;margin-top:3px;font-size:12px}#generators{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}#generators button{text-align:left;min-height:61px;font-size:13px;padding:5px 7px}#generators small{display:block;font-size:11px;font-weight:400}#selected{font-size:13px;min-height:19px}#exchange{display:flex;gap:4px;flex-wrap:wrap}#exchange button{font-size:12px;flex:1;padding:5px}#exchange:empty{display:none}.actions{display:flex;flex-wrap:wrap;gap:5px}.actions button{flex:1}#feedback,#notice,#menuNotice{font-size:12px;min-height:17px;color:#984047}#pauseNote{padding:8px;background:#f8ecd0;border-radius:8px}.panel{position:fixed;inset:0;background:#35453699;display:flex;align-items:center;justify-content:center;padding:12px;z-index:3}.panel[hidden],[hidden]{display:none!important}.sheet{background:#f8f1de;border:2px solid #70856d;border-radius:18px;padding:18px;max-width:640px;width:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;display:grid;gap:12px;box-shadow:0 10px 32px #1e2e3040}.sheet h2{font-size:24px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}label{display:grid;gap:4px;min-width:0}.settings{display:flex;gap:14px;flex-wrap:wrap}.settings label{display:flex;align-items:center;min-height:44px}input[type=checkbox]{width:22px;height:22px;accent-color:#5b8060}#chains>div,#planList>div,#albumList button{padding:9px;background:#eee6d2;border-radius:8px;margin-bottom:6px}#albumList{display:grid;gap:5px}#albumList button{text-align:left}#planList small{display:block;font-size:12px;margin-top:5px}#confirm{z-index:6}#help,#plan,#album{z-index:5}#result{z-index:4}#menu{z-index:4}
@media(min-width:700px) and (orientation:portrait){main{max-width:520px;margin:auto}}
@media(orientation:landscape){#app{padding:4px}header{height:32px;margin-bottom:4px}header button{min-height:30px;height:32px;font-size:12px}h1{font-size:16px}main{grid-template-columns:320px minmax(0,1fr);gap:10px}#workspace{width:320px;padding:3px}#board{grid-template-columns:repeat(6,minmax(44px,1fr))}#board button{aspect-ratio:auto;height:44px;min-height:44px}#control{gap:4px}#status{font-size:12px}#orders button{min-height:49px;font-size:12px;padding:4px 6px}#orders small{font-size:11px}#generators button{min-height:49px;font-size:12px;padding:4px 6px}#generators small{font-size:10px}#selected{font-size:12px;min-height:16px}#exchange button{min-height:44px;font-size:11px;padding:3px}.actions button{padding:4px;font-size:12px}#feedback,#notice{min-height:14px;font-size:11px}#notice:empty{display:none}}
@media(orientation:landscape){#app{padding:0}header{height:44px;margin:0}header button{height:44px;min-height:44px;min-width:44px}#workspace{padding:2px}#board{gap:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.cardArt{display:block;width:80%;height:80%;position:absolute;left:10%;top:7%;background-size:500% 100%;background-repeat:no-repeat;pointer-events:none}.cardArt.bakery{background-image:url('assets/bakery.webp')}.cardArt.garden{background-image:url('assets/garden.webp')}.cardArt.sweet{background-image:url('assets/sweet.webp')}.cardArt.table{background-image:url('assets/table.webp')}#board .chainGlyph{position:absolute;left:3px;top:2px;font-size:10px;line-height:1}#board .tier{position:absolute;right:3px;bottom:1px;font-size:11px;font-weight:900;background:#fff9eddf;border-radius:4px;padding:0 3px;line-height:14px}#roomCanvas,#resultCanvas{display:block;width:100%;height:auto;aspect-ratio:31/13;border-radius:10px;border:1px solid #ccb38e}#generators .generatorArt{float:left;display:block;width:38px;height:38px;background-image:url('assets/generators.webp');background-size:400% 100%;background-repeat:no-repeat;margin-right:5px;pointer-events:none}.pop .cardArt{animation:cardPop .28s ease-out}@keyframes cardPop{50%{transform:scale(.89);background-color:#fff4ba}}@media(orientation:landscape){#generators .generatorArt{width:32px;height:32px}}@media(prefers-reduced-motion:reduce){.pop .cardArt{animation:none}}
#control{position:relative}#hostCanvas{position:absolute;right:0;top:0;width:44px;height:44px;pointer-events:none}#status{min-height:44px;padding-right:48px;display:flex;align-items:center}
.sheet>*{min-width:0}.choices{grid-template-columns:repeat(2,minmax(0,1fr))}select{min-width:0;width:100%}.sheet p,.sheet div{overflow-wrap:break-word}
@media(orientation:landscape){#control{max-height:calc(100dvh - 44px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:2px}}
button{min-width:44px}header button{flex-shrink:0}header h1{min-width:0;overflow-wrap:break-word}
