body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,sans-serif;background:#f0f4f8}body.dark{background:#1a202c}.app{max-width:480px;margin:0 auto;padding:16px}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}h1{font-size:1.5rem;font-weight:700;color:#1a202c}body.dark h1{color:#f7fafc}.dark-toggle{background:none;border:2px solid #e2e8f0;border-radius:8px;padding:6px 10px;font-size:1.1rem;cursor:pointer;line-height:1;color:#2d3748;transition:border-color .15s}body.dark .dark-toggle{border-color:#4a5568;color:#f7fafc}.dark-toggle:hover{border-color:#4299e1}.card{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 1px 3px #0000001a}body.dark .card{background:#2d3748;box-shadow:0 1px 3px #0006}.card h2{font-size:.85rem;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}body.dark .card h2{color:#a0aec0}.target-input{width:100%;font-size:2rem;font-weight:700;text-align:center;border:2px solid #e2e8f0;border-radius:8px;padding:8px;outline:none;color:#1a202c;background:#fff}body.dark .target-input{background:#1a202c;color:#f7fafc;border-color:#4a5568}.target-input:focus{border-color:#4299e1}body.dark .target-input:focus{border-color:#63b3ed}.target-input.invalid{border-color:#fc8181}.number-tiles{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.tile{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;border:2px solid #e2e8f0;background:#fff;color:#2d3748;transition:all .15s;-webkit-user-select:none;user-select:none}body.dark .tile{background:#1a202c;color:#e2e8f0;border-color:#4a5568}.tile:hover{border-color:#4299e1}body.dark .tile:hover{border-color:#63b3ed}.tile.disabled{opacity:.35;cursor:not-allowed}.selected-numbers{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px;min-height:44px}.selected-tile{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.1rem;font-weight:700;background:#2d3748;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s}body.dark .selected-tile{background:#4a5568}.selected-tile:hover{background:#e53e3e}body.dark .selected-tile:hover{background:#c53030}.hint{font-size:.78rem;color:#a0aec0;margin-top:4px}.btn-row{display:flex;gap:10px}button.btn{flex:1;padding:12px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}button.btn:disabled{opacity:.4;cursor:not-allowed}button.btn-primary{background:#4299e1;color:#fff}button.btn-primary:hover:not(:disabled){background:#3182ce}button.btn-secondary{background:#edf2f7;color:#2d3748}button.btn-secondary:hover:not(:disabled){background:#e2e8f0}body.dark button.btn-secondary{background:#4a5568;color:#f7fafc}body.dark button.btn-secondary:hover:not(:disabled){background:#606878}.solving{text-align:center;color:#718096;padding:12px 0}body.dark .solving{color:#a0aec0}.no-solution{text-align:center;color:#e53e3e;padding:8px 0}.results-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.results-title{font-size:1.2rem;font-weight:700;color:#1a202c}body.dark .results-title{color:#f7fafc}.badge{border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.badge--exact{background:#c6f6d5;color:#276749}.badge--near{background:#fefcbf;color:#744210}.badge--none{background:#fed7d7;color:#9b2c2c}body.dark .badge--exact{background:#276749;color:#c6f6d5}body.dark .badge--near{background:#744210;color:#fefcbf}body.dark .badge--none{background:#9b2c2c;color:#fed7d7}.matches-label{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;margin-bottom:8px}.matches-label--exact{color:#276749}.matches-label--near{color:#b7791f}body.dark .matches-label--exact{color:#68d391}body.dark .matches-label--near{color:#f6ad55}.matches-icon{font-size:1rem}.solution-card{border-radius:10px;border:1.5px solid;overflow:hidden}.solution-card--exact{border-color:#9ae6b4}.solution-card--near{border-color:#fbd38d}body.dark .solution-card--exact{border-color:#276749}body.dark .solution-card--near{border-color:#b7791f}.solution-card-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid}.solution-card--exact .solution-card-header{border-color:#9ae6b4;background:#f0fff4}.solution-card--near .solution-card-header{border-color:#fbd38d;background:#fffaf0}body.dark .solution-card--exact .solution-card-header{border-color:#276749;background:#1a3a2a}body.dark .solution-card--near .solution-card-header{border-color:#b7791f;background:#2d200a}.solution-card-title{font-size:1rem;font-weight:700;color:#1a202c}body.dark .solution-card-title{color:#f7fafc}.solution-badge{border-radius:999px;padding:3px 12px;font-size:.85rem;font-weight:700}.solution-badge--exact{background:#38a169;color:#fff}.solution-badge--near{background:#d69e2e;color:#fff}.step-box{padding:12px 14px;display:flex;flex-direction:column;gap:5px}.step-box--exact{background:#f0fff4}.step-box--near{background:#fffaf0}body.dark .step-box--exact{background:#1c3a28}body.dark .step-box--near{background:#2a1f08}.step-row{display:flex;align-items:center;gap:8px;font-family:ui-monospace,monospace;font-size:.95rem;font-weight:700}.step-op,.step-eq{color:#718096;font-weight:500}body.dark .step-op,body.dark .step-eq{color:#a0aec0}.num-original{color:#2b6cb0}body.dark .num-original{color:#63b3ed}.num-calc{color:#276749}body.dark .num-calc{color:#68d391}.num-result{color:#276749}body.dark .num-result{color:#68d391}.step-box--near .num-result{color:#744210}body.dark .step-box--near .num-result{color:#f6ad55}.results-hint{margin-top:14px;font-size:.78rem;color:#a0aec0;text-align:center}.version{position:fixed;bottom:8px;right:10px;font-size:.65rem;color:#cbd5e0}body.dark .version{color:#4a5568}
