@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{font-family:DM Sans,sans-serif;color:#334d42;background:#f8f3e8;font-synthesis:none;--panel: #fffdf6;--border: #dbdecf;--muted: #65776a;--ink: #334d42}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);border-radius:12px;padding:11px 15px;background:var(--panel);color:inherit;min-height:44px}button:hover:not(:disabled){filter:brightness(.96)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ad663c;outline-offset:3px}a{color:inherit}header{max-width:1180px;margin:auto;padding:24px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}header a{text-decoration:none;font-size:14px}.brand{font:600 26px Fraunces,serif;letter-spacing:-1px}.brand span{color:#9d754a}main{max-width:1180px;margin:auto;padding:25px 30px 65px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted)}h1,h2{font-family:Fraunces,Georgia,serif;font-weight:500}h1{font-size:clamp(32px,5vw,49px);margin:10px 0}p{line-height:1.6}.intro>div>p:last-child{color:var(--muted);margin-bottom:0}.seal{border:1px dashed #b8c4a5;border-radius:50%;padding:22px;text-align:center;color:#7d866b;font-size:13px;transform:rotate(8deg)}.layout{display:grid;grid-template-columns:minmax(320px,640px) minmax(240px,1fr);gap:55px}.game-shell{background:var(--panel);border:1px solid var(--border);border-radius:25px;padding:22px;box-shadow:0 12px 35px #40513307}.toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:14px}.toolbar label{font-size:12px;color:var(--muted)}select{max-width:150px;border:0;background:transparent;color:inherit;min-height:44px}.level-heading{display:flex;justify-content:space-between;align-items:center;margin:17px 0}.level-heading h2{margin:4px 0;font-size:27px}.level-heading p{margin:0}.level-heading button{font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#edf0e4;padding:13px;border-radius:14px;text-align:center}.stats small{display:block;font-size:9px;letter-spacing:1px;color:var(--muted)}.stats strong{display:block;font-size:25px;margin-top:3px}#objective{font-size:13px;margin:12px 0 6px}progress{display:block;width:100%;height:6px;border:0;border-radius:9px;background:#e6e5d9;margin-bottom:16px;accent-color:#8da77a}progress::-webkit-progress-bar{background:#e6e5d9;border-radius:9px}progress::-webkit-progress-value{background:#8da77a;border-radius:9px}.board-frame{position:relative}#board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:10px;border-radius:19px;background:#dce5d1;border:1px solid #c7d2bd;touch-action:none}.sweet{position:relative;display:grid;place-items:center;width:100%;min-width:0;min-height:0;aspect-ratio:1;padding:0;border-radius:17px;border:0;box-shadow:inset 0 -4px #00000013,inset 0 2px #ffffff80,0 2px 3px #40513315;color:#5c292d;font-size:clamp(21px,3.6vw,35px);transition:transform .18s,opacity .18s}.sweet span{filter:drop-shadow(0 2px 0 #fff7);line-height:1}.sweet[data-color="0"]{background:#f1a6ac;color:#843e4c}.sweet[data-color="1"]{background:#f5c193;color:#82542c}.sweet[data-color="2"]{background:#eddf91;color:#786326}.sweet[data-color="3"]{background:#a9d3bc;color:#326349}.sweet[data-color="4"]{background:#a5cadd;color:#365d80}.sweet[data-color="5"]{background:#cdb4df;color:#654785}.sweet small{position:absolute;bottom:1px;right:2px;line-height:1;border-radius:50%;background:#fff9d7;color:#523e4a;padding:1px 4px;font-size:19px;font-weight:700;border:1px solid #917269}.sweet[data-special=color]{background:linear-gradient(135deg,#f1a6ac,#eddf91,#a9d3bc,#a5cadd,#cdb4df)}.sweet.jelly{outline:3px solid #fffdf0;outline-offset:-5px;background-image:repeating-linear-gradient(135deg,transparent 0 10px,#fff5 10px 14px)}.sweet.selected{outline:3px solid #5a6548;outline-offset:1px;transform:scale(.9)}.sweet.hint{outline:3px dashed #594a36;outline-offset:-3px;animation:pulse .8s ease-in-out infinite alternate}.sweet.empty{opacity:0;transform:scale(.4)}#board[data-phase=fall] .sweet{animation:fall .23s ease-out}.sweet.invalid{animation:shake .25s linear}#message{font-size:12px;min-height:39px;margin:12px 2px}.actions{display:flex;gap:8px;justify-content:space-between}.actions button{font-size:12px}#storage-status{font-size:10px;color:var(--muted);margin:13px 0 0}#outcome{margin-top:14px;padding:18px;border:1px solid var(--border);background:var(--panel);border-radius:16px;text-align:center}#outcome h2{margin:0}#outcome p{font-size:13px}#next-btn{background:#49644d;color:#fff}aside{padding-top:15px}.portrait{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:48% 48% 40% 40%;background:#e8e4d8}aside>h2{font-size:34px;line-height:1.2;margin:12px 0 18px}aside p{font-size:14px;color:var(--muted)}.recipe{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:5px 0}.recipe p{font-size:12px}.recipe b{color:var(--ink)}details{margin-top:18px;font-size:13px}summary{cursor:pointer;padding:10px 0}dialog{max-width:min(520px,94vw);border:1px solid var(--border);border-radius:22px;background:var(--panel);color:inherit;padding:24px}dialog::backdrop{background:#19372b88;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px}dialog h2{margin:0}dialog p{font-size:13px}#levels-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}#levels-grid button{font-size:12px}.game-shell:fullscreen{max-width:720px;margin:auto;overflow:auto;border-radius:0}@keyframes pulse{to{transform:scale(.91)}}@keyframes fall{0%{transform:translateY(-12px);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes shake{25%,75%{transform:translate(-4px)}50%{transform:translate(4px)}}@media(max-width:760px){header{padding:17px 18px}main{padding:20px 12px 40px}.intro{padding:0 6px;margin-bottom:22px}.intro h1{font-size:34px}.intro>div>p:last-child{font-size:12px}.seal{display:none}.layout{grid-template-columns:1fr;gap:30px}.game-shell{padding:14px;max-width:590px;width:100%;margin:auto;border-radius:20px}#board{gap:5px;padding:8px}.sweet{border-radius:12px;font-size:clamp(22px,6vw,35px)}.sweet small{font-size:14px}aside{max-width:480px;margin:auto;padding:0 15px}.portrait{max-height:260px;object-fit:cover}.stats strong{font-size:22px}.level-heading h2{font-size:25px}}@media(prefers-color-scheme:dark){:root{--panel: #25372e;--border: #526657;--muted: #bdcbbb;--ink: #eff2df}.game-shell,dialog{background:var(--panel);color:#eff2df}.stats{background:#334737}#board{background:#344936;border-color:#5b7159}.sweet.selected{outline-color:#ffe3aa}.sweet.hint{outline-color:#fff6ce}.seal{color:#ccd9b9}.recipe b{color:#eff2df}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}#board{display:block;position:relative;aspect-ratio:1.7;touch-action:pan-y;isolation:isolate;overflow:visible}#board .sweet{position:absolute;width:14%;height:25%;aspect-ratio:auto;min-height:0;border:2px solid #fff9;border-radius:11px;box-shadow:0 5px #617352,0 7px 9px #24361c55;font-size:clamp(24px,4vw,37px)}#board .sweet.covered{opacity:1;filter:brightness(.58) saturate(.55);box-shadow:0 3px #45503d}#tray-label{font-size:12px;font-weight:700;margin:18px 0 7px;text-align:center}#tray{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;background:#c9d5bd;padding:8px;border-radius:13px;border:2px solid transparent}#tray.warning{border-color:#ba6839;background:#efd0ac}.tray-slot{display:grid;place-items:center;aspect-ratio:1;min-width:0;background:#f8f3e8;border-radius:9px;box-shadow:inset 0 2px 3px #34462b30;font-size:clamp(22px,4vw,32px);color:#445539}.tray-slot[data-color="0"]{background:#f1a6ac;color:#843e4c}.tray-slot[data-color="1"]{background:#f5c193;color:#82542c}.tray-slot[data-color="2"]{background:#eddf91;color:#786326}.tray-slot[data-color="3"]{background:#a9d3bc;color:#326349}.tray-slot[data-color="4"]{background:#a5cadd;color:#365d80}.tray-slot[data-color="5"]{background:#cdb4df;color:#654785}.actions{flex-wrap:wrap}.actions button{flex:1;padding:10px 8px;white-space:nowrap}@media(max-width:380px){.game-shell{padding:10px}main{padding-inline:6px}.intro h1{font-size:30px}#board{aspect-ratio:1.6}#board .sweet{border-radius:8px}}.mode-choice{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;font-size:14px}.mode-choice select{max-width:100%;flex:1;font-size:14px}
