:root{--pe-bg: #212233;--pe-bg-deep: #1a1b28;--pe-bg-card: #2a2c42;--pe-border: #373952;--pe-text: #f9faff;--pe-text-dim: #9a9db5;--pe-amber: #f5a524;--pe-amber-dark: #d98c10;--pe-green: #56c46a;--pe-red: #ff5d6c}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--pe-bg);color:var(--pe-text);font-family:Nunito,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;touch-action:manipulation}button{font-family:inherit;cursor:pointer;border:none;color:inherit}.app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;background:radial-gradient(circle at 50% 0%,#2a2c42 0%,var(--pe-bg) 60%)}.topbar{width:100%;max-width:520px;display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.logo{font-weight:900;font-size:20px;letter-spacing:-.5px;text-decoration:none;color:var(--pe-text)}.logo span{color:var(--pe-amber)}.btn{background:var(--pe-amber);color:#1a1b28;font-weight:800;border-radius:14px;padding:14px 24px;font-size:17px;box-shadow:0 4px 0 var(--pe-amber-dark);transition:transform .06s ease,box-shadow .06s ease}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--pe-amber-dark)}.btn.secondary{background:var(--pe-bg-card);color:var(--pe-text);box-shadow:0 4px #15161f}.btn.secondary:active{box-shadow:0 1px #15161f}.menu{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:20px;text-align:center}.menu h1{font-size:clamp(34px,9vw,52px);font-weight:900;letter-spacing:-1.5px;line-height:1}.menu h1 .accent{color:var(--pe-amber)}.menu p{color:var(--pe-text-dim);max-width:320px;font-weight:600;line-height:1.5}.menu .crops{display:flex;gap:8px;font-size:38px}.levels-wrap{flex:1;width:100%;max-width:520px;overflow-y:auto;padding:8px 16px 30px}.levels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.level-card{aspect-ratio:1;border-radius:18px;background:var(--pe-bg-card);border:2px solid var(--pe-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative}.level-card.locked{opacity:.45;cursor:not-allowed}.level-card .num{font-size:30px;font-weight:900}.level-card .stars{font-size:15px;letter-spacing:1px;color:var(--pe-amber)}.level-card .lock{position:absolute;font-size:22px;opacity:.8}.levels-title{font-weight:900;font-size:22px;padding:4px 16px 12px;width:100%;max-width:520px}.game{flex:1;width:100%;max-width:520px;display:flex;flex-direction:column;padding:0 12px 12px;min-height:0}.hud{display:flex;gap:8px;padding:4px 0 10px}.hud .stat{flex:1;background:var(--pe-bg-card);border:1px solid var(--pe-border);border-radius:12px;padding:8px 10px;text-align:center}.hud .stat .label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--pe-text-dim)}.hud .stat .value{font-size:22px;font-weight:900}.hud .stat .value.low{color:var(--pe-red)}.goals{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:10px}.goal-chip{background:var(--pe-bg-card);border:1px solid var(--pe-border);border-radius:10px;padding:5px 10px;font-weight:800;font-size:13px;display:flex;align-items:center;gap:6px}.goal-chip.done{border-color:var(--pe-green);color:var(--pe-green)}.goal-chip .swatch{width:14px;height:14px;border-radius:4px}.board-shell{position:relative;width:100%;aspect-ratio:1;background:var(--pe-bg-deep);border:2px solid var(--pe-border);border-radius:18px;overflow:hidden;align-self:center}.board-shell canvas{display:block;touch-action:none}.combo-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);background:var(--pe-amber);color:#1a1b28;font-weight:900;padding:4px 14px;border-radius:999px;font-size:15px;pointer-events:none;animation:pop .25s ease}@keyframes pop{0%{transform:translate(-50%) scale(.6);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.game-controls{display:flex;gap:10px;padding-top:12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d0e16d1;display:flex;align-items:center;justify-content:center;padding:20px;z-index:20;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.dialog{background:var(--pe-bg-card);border:2px solid var(--pe-border);border-radius:22px;padding:28px 24px;width:100%;max-width:340px;text-align:center;display:flex;flex-direction:column;gap:16px}.dialog h2{font-size:28px;font-weight:900}.dialog .stars-row{font-size:44px;letter-spacing:4px;color:var(--pe-amber)}.dialog .stars-row .empty{opacity:.25}.dialog .sub{color:var(--pe-text-dim);font-weight:600}.dialog .actions{display:flex;gap:10px;margin-top:4px}.dialog .actions .btn{flex:1}
