*{box-sizing:border-box}body,html{height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);color:#eee;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}#root{height:100%;overflow:auto}.app{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;min-height:100%;min-height:100dvh;padding:clamp(.75rem,3vw,1.5rem);transition:background 1.2s ease-out}.app.evolutrix{--level:var(--evolution-level,1);--hue:calc(220 - var(--level)*2);--sat:calc(55% + var(--level)*0.4%);--light:calc(22% + var(--level)*0.08%);background:linear-gradient(135deg,hsl(var(--hue),var(--sat),var(--light)) 0,hsl(calc(var(--hue) + 55),calc(var(--sat) + 20%),calc(var(--light) + 12%)) 35%,hsl(calc(var(--hue) + 25),calc(var(--sat) + 15%),calc(var(--light) + 5%)) 65%,hsl(calc(var(--hue) - 35),calc(var(--sat) + 10%),calc(var(--light) - 5%)) 100%)}.header{align-items:center;display:flex;flex-direction:column;gap:.5rem;max-width:420px;position:relative;text-align:center;width:100%}.btn-fullscreen{background:#ffffff1a;border:none;border-radius:8px;color:#fffc;cursor:pointer;font-size:1.25rem;height:2.25rem;line-height:1;padding:0;position:absolute;right:0;top:0;transition:background .2s,color .2s;width:2.25rem}.btn-fullscreen:hover{background:#fff3;color:#fff}.header-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#e94560,#ff6b6b);-webkit-background-clip:text;background-clip:text;font-size:2.25rem;font-weight:700;line-height:1.2;margin:0}.header-stats{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;justify-content:center;margin:.25rem 0}.header-stats .stat{font-size:1rem;white-space:nowrap}.header-stats .stat strong{color:#ffd93d;font-weight:700}.stat-evolution{align-items:baseline;display:inline-flex;flex-wrap:wrap;gap:.2em;white-space:normal}.stat-element{align-items:center;color:#ffffffd9;display:inline-flex;font-size:.9em;font-weight:400;gap:.25em}.stat-element-sep{color:#ffd93d99;font-weight:700;-webkit-user-select:none;user-select:none}.stat-element-name{color:#ffd93d;font-style:italic;opacity:.95}.hint{font-size:.85rem;line-height:1.35;margin:0;opacity:.92}.header-options{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.35rem}.toggle-option{align-items:center;color:#c0c0d0;cursor:pointer;display:inline-flex;font-size:.85rem;gap:.4rem;-webkit-user-select:none;user-select:none}.toggle-option input[type=checkbox]{accent-color:#ffd93d;cursor:pointer;height:1.1rem;width:1.1rem}.toggle-option:hover{color:#e0e0ee}.header-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.btn-restart,.btn-secondary{border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.25rem;transition:transform .15s ease,box-shadow .15s ease}.btn-restart{background:linear-gradient(180deg,#ffd93d,#f0c030);box-shadow:0 2px 8px #00000040;color:#1a1a2e}.btn-restart:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px)}.btn-secondary{background:#ffffff1f;color:#eee}.btn-secondary.btn-save{min-width:8.5em}.btn-secondary:hover{background:#fff3;transform:translateY(-1px)}.btn-restart:active,.btn-secondary:active{transform:translateY(0)}.btn-secondary.btn-save-success{background:#55efc459;color:#55efc4;transition:background .3s ease,color .3s ease}.btn-secondary.btn-save-success:hover{background:#55efc473}.btn-secondary.btn-save-error{background:#fd79a840;color:#fd79a8}.save-feedback{animation:saveFade 2s ease-out forwards;font-size:.85rem;margin:.35rem 0 0}.save-feedback-error{color:#fd79a8}@keyframes saveFade{0%,30%{opacity:1}to{opacity:0}}.game-main{align-items:center;display:flex;flex-direction:column}.board-wrap{background:#0006;border-radius:16px;box-shadow:0 8px 32px #0006,inset 0 1px 0 #ffffff14;padding:clamp(6px,1.5vw,10px)}.board{grid-gap:4px;aspect-ratio:var(--cols) /var(--rows);display:grid;gap:4px;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr);max-height:85vmin;width:min(90vmin,400px)}.cell{border:none;border-radius:10px;cursor:pointer;overflow:hidden;padding:0;position:relative;transition:transform .15s ease,box-shadow .15s ease}.cell:hover:not(:disabled):not([data-empty=true]){box-shadow:0 0 12px #fff6;transform:scale(1.08)}.cell[data-selected=true]{animation:selected-pulse 1.2s ease-in-out infinite;box-shadow:0 0 0 4px #fff,0 0 0 6px #ffd93de6,0 0 24px #ffd93d99,0 0 40px #e9456066;transform:scale(1.1);z-index:2}@keyframes selected-pulse{0%,to{box-shadow:0 0 0 4px #fff,0 0 0 6px #ffd93de6,0 0 24px #ffd93d99,0 0 40px #e9456066}50%{box-shadow:0 0 0 4px #fff,0 0 0 7px #ffd93d,0 0 32px #ffd93dcc,0 0 56px #e9456080}}.cell:disabled{cursor:default}.cell[data-empty=true]{cursor:default;visibility:hidden}.gem-inner{border-radius:8px;display:block;height:100%;min-height:36px;overflow:hidden;position:relative;width:100%}.gem-inner.gem-fallback{align-items:center;background:linear-gradient(135deg,#555,#555 40%,#00000059);background:linear-gradient(135deg,var(--element-color,#555) 0,var(--element-color,#555) 40%,#00000059 100%);box-shadow:inset 0 2px 4px #ffffff59;display:flex;flex-direction:column;justify-content:center}.gem-fallback .element-name{-webkit-line-clamp:3;padding:0 2px;position:static}.gem-bg,.gem-bg-img{border-radius:8px;inset:0;position:absolute}.gem-bg-img{height:100%;object-fit:cover;width:100%}.gem-overlay{background:linear-gradient(135deg,#0000,#0000 40%,#00000059);border-radius:8px;box-shadow:inset 0 2px 4px #ffffff59;inset:0;pointer-events:none;position:absolute}.element-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;bottom:0;color:#fffffff2;display:-webkit-box;font-size:.5rem;font-weight:600;left:0;line-height:1.1;max-width:100%;overflow:hidden;padding:2px 4px;position:absolute;right:0;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 1px #00000080;z-index:1}.cell.merge-from.merge-fly{transition:transform .28s ease-out,opacity .28s ease-out;z-index:2}.cell.merge-from.merge-fly.merge-active{opacity:0;transform:translate(calc(0% + 0px),calc(0% + 0px));transform:translate(calc(var(--dc, 0)*(100% + 4px)),calc(var(--dr, 0)*(100% + 4px)))}.cell.fusion-back{transition:transform .28s ease-out;z-index:2}.cell.fusion-back.fusion-active:not(.fusion-back-phase),.cell.fusion-back.fusion-back-phase{transform:translate(calc(0% + 0px),calc(0% + 0px));transform:translate(calc(var(--dc, 0)*(100% + 4px)),calc(var(--dr, 0)*(100% + 4px)))}.cell.fusion-back.fusion-back-phase.fusion-active{transform:translate(0)}.cell.merge-to.merge-active .gem-inner{animation:mergeReceive .25s ease-out}@keyframes mergeReceive{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.cell.disappearing{animation:disappear .32s ease-in forwards;z-index:1}@keyframes disappear{to{opacity:0;transform:scale(0)}}.cell.new-cell{animation:fallIn .3s ease-out forwards;z-index:1}@keyframes fallIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.cell.falling{animation:fallDown .3s ease-out forwards;z-index:1}@keyframes fallDown{0%{transform:translateY(calc(0% + 0px));transform:translateY(calc(var(--fall-rows, 0)*(100% + 4px)*-1))}to{transform:translateY(0)}}.modal-overlay{align-items:center;animation:modalFadeIn .2s ease-out;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalSlideIn .25s ease-out;background:linear-gradient(180deg,#2a2a4a,#1a1a2e);border-radius:14px;box-shadow:0 16px 48px #00000080,0 0 0 1px #ffffff14;max-width:340px;padding:1.5rem;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-text{color:#eee;font-size:1rem;line-height:1.4;margin:0 0 1.25rem;text-align:center}.modal-actions{display:flex;gap:.75rem;justify-content:center}.btn-modal{border:none;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.5rem 1.25rem;transition:transform .15s ease,box-shadow .15s ease}.btn-modal:hover{transform:translateY(-1px)}.btn-modal:active{transform:translateY(0)}.btn-cancel{background:#ffffff26;color:#eee}.btn-cancel:hover{background:#ffffff38}.btn-confirm{background:linear-gradient(180deg,#ffd93d,#f0c030);box-shadow:0 2px 8px #0003;color:#1a1a2e}.btn-confirm:hover{box-shadow:0 4px 12px #0000004d}.modal--tree{display:flex;flex-direction:column;max-height:85vh;max-width:420px}.modal-title{color:#eee;font-size:1.15rem;font-weight:700;margin:0 0 .25rem;text-align:center}.modal-text--tree{color:#b0b0c0;font-size:.9rem;margin:0 0 .75rem}.tree-list{flex:1 1;margin:0 0 1rem;max-height:50vh;overflow-y:auto;padding-right:.25rem}.tree-list::-webkit-scrollbar{width:6px}.tree-list::-webkit-scrollbar-track{background:#ffffff0f;border-radius:3px}.tree-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.tree-level{margin-bottom:1rem}.tree-level:last-child{margin-bottom:0}.tree-level-title{color:#a0a0b8;font-size:.8rem;font-weight:700;margin-bottom:.35rem;padding-left:.15rem}.tree-level-items{display:flex;flex-direction:column;gap:.4rem}.tree-recipe{align-items:center;display:flex;flex-wrap:nowrap;gap:.35rem}.tree-arrow,.tree-plus{color:#ffffff80;flex-shrink:0;font-size:.9rem;font-weight:700}.tree-gem{box-shadow:0 1px 4px #0000004d;flex-shrink:0;height:32px;width:32px}.tree-gem,.tree-gem-inner{border-radius:8px;overflow:hidden}.tree-gem-inner{display:block;height:100%;position:relative;width:100%}.tree-gem-inner.gem-fallback{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--element-color) 85%,#fff) 0,var(--element-color) 50%,color-mix(in srgb,var(--element-color) 70%,#000) 100%);display:flex;justify-content:center}.tree-gem-bg,.tree-gem-inner .gem-bg-img{border-radius:8px;inset:0;position:absolute}.tree-gem-inner .gem-bg-img{height:100%;object-fit:cover;width:100%}.tree-gem-inner .gem-overlay{background:linear-gradient(135deg,#ffffff59,#0000 50%,#00000026);border-radius:8px;inset:0;pointer-events:none;position:absolute}.tree-gem-name{bottom:0;color:#000000bf;font-size:.4rem;left:0;line-height:1.1;overflow:hidden;padding:0 1px;pointer-events:none;position:absolute;right:0;text-align:center;text-overflow:ellipsis;text-shadow:0 0 1px #fffc;white-space:nowrap}.tree-gem-inner.gem-fallback .tree-gem-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.45rem;padding:0 2px;position:static;white-space:normal;word-break:break-word}.tree-empty{color:#999;font-size:.95rem;margin:0;text-align:center}
/*# sourceMappingURL=main.08a0a0f3.css.map*/