*{box-sizing:border-box;margin:0;padding:0}body{font-family:Georgia,Times New Roman,serif;background:#fafaf9;color:#1a1a2e;min-height:100vh;display:flex;justify-content:center}.game{max-width:700px;width:100%;margin:0 auto;padding:3rem 1rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1.75rem}h1{font-size:2.25rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:#1a1a2e}.score{font-size:1.1rem;font-weight:400;color:#6b5b73;letter-spacing:.04em}.deck-count{font-size:.8rem;color:#7a7086;letter-spacing:.03em}.board{display:flex;align-items:center;gap:1rem;width:100%;justify-content:center;flex-wrap:wrap}.card-side{display:flex;flex-direction:column;align-items:center;gap:.75rem;min-width:0;flex:1}.side-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#7a7086}.cards{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.card{width:52px;height:72px;background:#fff;border:1.5px solid #b8b0c4;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:400;color:#1a1a2e;box-shadow:0 1px 3px #0000000f;transition:transform .2s}.card:hover{transform:translateY(-2px)}.equals{font-size:2.5rem;font-weight:300;color:#6b5b73;padding:0 .5rem;-webkit-user-select:none;user-select:none}.controls{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.expr-inputs{display:flex;align-items:center;gap:.5rem;width:100%;max-width:500px;flex-wrap:wrap;justify-content:center}.expr-input{flex:1;min-width:0;padding:.7rem .75rem;background:#fff;border:1.5px solid #b8b0c4;border-radius:6px;color:#1a1a2e;font-size:1.05rem;font-family:SF Mono,Fira Code,Menlo,monospace;outline:none;transition:border-color .2s}.expr-input:focus{border-color:#6b5b73}.expr-input::placeholder{color:#9a92a6;font-size:.8rem}.eq-small{font-size:1.5rem;font-weight:300;color:#6b5b73}.buttons{display:flex;gap:.75rem}.btn{padding:.6rem 1.5rem;border:1.5px solid transparent;border-radius:6px;font-size:.9rem;font-family:inherit;font-weight:400;letter-spacing:.04em;cursor:pointer;transition:all .2s}.btn-primary{background:#1a1a2e;color:#fff}.btn-primary:hover{background:#2d2b42;transform:translateY(-1px);box-shadow:0 2px 8px #1a1a2e26}.btn-secondary{background:transparent;color:#6b5b73;border-color:#b8b0c4}.btn-secondary:hover{background:#f0edf3;transform:translateY(-1px)}.message{padding:.7rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:400;text-align:center;max-width:500px;width:100%}.message-success{background:#f0faf0;color:#2d6a2d;border:1px solid #c8e6c8}.message-error{background:#fdf2f2;color:#9b2c2c;border:1px solid #f0c4c4}.message-info{background:#f5f0fa;color:#6b5b73;border:1px solid #ddd4e6}.mode-toggle{display:flex;gap:0;background:#f5f0fa;border-radius:6px;padding:3px;border:1px solid #e8e2f0}.mode-btn{padding:.35rem 1rem;border:none;border-radius:4px;background:transparent;color:#7a7086;font-size:.8rem;font-family:inherit;font-weight:400;letter-spacing:.02em;cursor:pointer;transition:all .15s}.mode-btn.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 3px #0000000f}.mode-btn:hover:not(.active){color:#6b5b73}.card-side-interactive{display:flex;flex-direction:column;align-items:center;gap:.75rem;min-width:0;flex:1;background:#fff;border:1px solid #d4cdde;border-radius:10px;padding:1rem}.cards-interactive{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;min-height:72px}.cards-interactive .empty{color:#9a92a6;font-style:italic;align-self:center}.card-btn{position:relative;width:52px;height:72px;background:#fff;border:1.5px solid #b8b0c4;border-radius:8px;font-size:1.5rem;font-weight:400;font-family:inherit;color:#1a1a2e;cursor:pointer;box-shadow:0 1px 3px #0000000f;transition:all .15s}.card-btn:hover:not(:disabled){border-color:#6b5b73;transform:translateY(-2px);box-shadow:0 3px 8px #00000014}.card-btn.selected{background:#f9f7fc}.card-btn.order-1{border-color:#6b5b73;box-shadow:0 0 0 1.5px #6b5b73,0 2px 6px #6b5b7326}.card-btn.order-2{border-color:#9b8aa8;box-shadow:0 0 0 1.5px #9b8aa8,0 2px 6px #9b8aa826}.card-btn.complete{border-color:#4a9a6a;box-shadow:0 0 0 1.5px #4a9a6a,0 2px 6px #4a9a6a26}.card-btn:disabled{cursor:default;opacity:.6}.card-order{position:absolute;top:-7px;right:-7px;color:#fff;font-size:.5rem;font-weight:600;padding:1px 5px;border-radius:4px;line-height:1.4;font-family:system-ui,sans-serif}.card-btn.order-1 .card-order{background:#6b5b73}.card-btn.order-2 .card-order{background:#9b8aa8}.preview{font-size:.95rem;color:#7a7086;font-weight:400}.ops{display:flex;gap:.5rem;justify-content:center}.op-btn{width:38px;height:38px;border:1.5px solid #b8b0c4;border-radius:50%;background:#fff;color:#1a1a2e;font-size:1.15rem;cursor:pointer;transition:all .15s}.op-btn:hover:not(:disabled){border-color:#6b5b73;background:#f5f0fa}.op-btn:disabled{opacity:.25;cursor:default}.undo-combine{margin-top:.25rem;padding:.25rem .7rem;border:1px solid #d4cdde;border-radius:4px;background:transparent;color:#7a7086;font-size:.7rem;font-family:inherit;letter-spacing:.03em;cursor:pointer;transition:all .15s}.undo-combine:hover{color:#4a3d55;border-color:#b8b0c4}.round-won,.game-over{display:flex;flex-direction:column;align-items:center;gap:1rem}.game-over h2{font-size:1.5rem;font-weight:400;color:#6b5b73}.game-over p{font-size:1.1rem;color:#7a7086}:root{font-family:Georgia,Times New Roman,serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1a1a2e;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;overflow-x:hidden}#root{width:100%}
