@import url('/kulki/style.css');
/* Reuse the existing application's game layout, tokens and controls. */
.fruit-page .game-layout{grid-template-columns:minmax(180px,220px) minmax(300px,480px) minmax(200px,240px)}
.fruit-page .board-wrap{aspect-ratio:1;overflow:hidden;padding:5px}
.fruit-page #board{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:3px;touch-action:pan-y}
.fruit-page .cell{background:linear-gradient(145deg,#ffffff08,#ffffff02);border:1px solid #ffffff06;border-radius:10px;aspect-ratio:1;touch-action:none;transition:background .15s,box-shadow .15s;overflow:hidden}
.fruit-icon{width:85%;height:85%;display:block;position:relative;pointer-events:none;filter:drop-shadow(0 3px 3px #0006)}
.fruit-icon svg{width:100%;height:100%;overflow:visible}
.fruit-page .cell.selected{background:#35d6e824;box-shadow:inset 0 0 0 2px var(--cyan)}
.fruit-page .cell.hinted{outline:2px dashed var(--yellow);outline-offset:-3px;background:#ffd16617}
.fruit-page .cell.popping .fruit-icon{animation:fruit-pop .2s ease-in forwards}
.fruit-page .cell.selected .fruit-icon{transform:translateY(-2px)}
.fruit-page .special-tag{position:absolute;bottom:2px;right:2px;background:#07111fe6;color:white;border:1px solid #ffffff99;border-radius:6px;min-width:18px;height:18px;display:grid;place-items:center;font:bold 14px/1 system-ui;pointer-events:none}
.fruit-page .prism{background:conic-gradient(#ff6b6b33,#ffd16644,#3ddc9733,#2f80ed44,#9b5de544,#ff6b6b33);box-shadow:inset 0 0 0 1px #ffffff77}
.fruit-page .prism .fruit-icon{filter:drop-shadow(0 0 7px #d3b4ff)}
.fruit-page .goal-orb{background:none!important;box-shadow:none!important;border-radius:0;width:42px;height:42px}
.fruit-page .goal-orb svg{width:100%;height:100%}.fruit-page .demo-badge{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:5px 12px;color:var(--muted);font-size:.7rem}
.fruit-page .result-card{margin-top:16px;text-align:center;border-color:var(--cyan)}.fruit-page .result-card h2{font-size:1.5rem}.fruit-page .result-card p{font-size:.85rem;color:var(--muted)}.fruit-page .result-card .button{margin:5px}
.fruit-page .campaign-card .level-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.fruit-page #board[aria-busy=true]{pointer-events:none}.fruit-page .level-button{cursor:pointer}
.fruit-page .game-tools .button,.fruit-page .result-card .button,.fruit-page dialog .button{display:inline-flex;align-items:center;justify-content:center}
.fruit-page .obstacle-guide{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.fruit-page .cell.iced{background:linear-gradient(135deg,#8ed8fa42,#8ed8fa08);box-shadow:inset 0 0 0 2px #a2dcf199;cursor:help}
.fruit-page .ice-layer{position:absolute;inset:0;border:1px solid #c2edff99;border-radius:8px;background:linear-gradient(140deg,#d8f4ff44,transparent 40%,#b1eaff22);color:#effcff;display:flex;justify-content:flex-end;align-items:flex-end;padding:2px;font-size:12px;pointer-events:none;text-shadow:0 1px 3px #07111f}
.fruit-page .crate-art{display:grid;place-items:center;position:relative;width:86%;height:86%;margin:7%;border-radius:7px;border:3px solid #ad8052;box-shadow:inset 0 0 0 2px #483825,0 3px 4px #0005;background:repeating-linear-gradient(0deg,#795333 0 27%,#5d402b 28% 33%);color:#d4b182;font-size:34px;line-height:1}
.fruit-page .crate-art b{position:absolute;bottom:0;right:2px;font-size:13px;background:#352b20;border-radius:3px}.fruit-page .crate-cell{cursor:help}.fruit-page .objective-symbol{font-size:30px;color:var(--cyan);text-shadow:none;display:grid;place-items:center}.fruit-page .campaign-card .level-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:650px){.fruit-page #goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fruit-page .goals-card{align-items:center}.fruit-page .goal-orb{width:24px;height:26px}.fruit-page .goal{grid-template-columns:24px minmax(0,1fr);gap:5px}.fruit-page .goal-label{font-size:.58rem}.fruit-page .goal strong{font-size:.85rem}.fruit-page .goal small{font-size:.64rem}.fruit-page .objective-symbol{font-size:23px}.fruit-page .crate-art{font-size:24px;border-width:2px}.fruit-page .ice-layer{font-size:10px}.fruit-page .campaign-card .level-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@keyframes fruit-pop{to{transform:scale(.25) rotate(12deg);opacity:0}}
@media(max-width:1050px){.fruit-page .game-layout{grid-template-columns:180px minmax(280px,480px)}}
@media(max-width:650px){.fruit-page .game-layout{display:flex;max-width:480px}.fruit-page .goal-orb{width:28px;height:30px}.fruit-page .goal{grid-template-columns:28px 1fr}.fruit-page .board-shell{padding:7px 7px 0}.fruit-page .board-wrap{padding:3px}.fruit-page #board{gap:2px}.fruit-page .cell{border-radius:7px}.fruit-page .special-tag{font-size:11px;min-width:14px;height:14px}.fruit-page .right-panel{grid-template-columns:1fr}.fruit-page .intro h1{font-size:2.3rem}.fruit-page .live-message{min-height:42px}}
@media(prefers-reduced-motion:reduce){.fruit-page .cell,.fruit-page .fruit-icon{transition:none!important;animation:none!important}.fruit-page .cell.popping .fruit-icon{opacity:.3;animation:none}}
